楼主: nerohanxudong
5884 2

[问答] R语言数据的拆分和合并 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

14%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
23 点
帖子
2
精华
0
在线时间
7 小时
注册时间
2014-9-18
最后登录
2018-9-27

楼主
nerohanxudong 发表于 2017-9-28 13:57:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
萌新一枚,求助各位好心的论坛大神!

我现在有一个list(比如a),这个list里面有815乘以655个元素(不知道是不是应该叫元素,533825 elements),每个元素都包含了一个长度为3619的向量。请把这个list的每个元素想象成一个“矩阵”的元素,ncol=815,nrow=655。

现在我想要把这个list变成一个包含163乘以131个元素的新list(b),把它想象成一个新的“矩阵”,ncol=163,nrow=131,这个新的list里的每个元素也包含一个长度为3619的向量,也就是说我想把原来的那个“矩阵”横向和纵向都缩小到原来的1/5。更明确的来讲,现在list b内的新元素是由list a内25个元素合成的,合成的方式为原先25个元素所包含的向量的各个值的平均值是现在新元素所包含的向量的各个值。

关于每个元素的向量值,我再解释的清楚一些:我想要的list b里的每个元素包含的向量长度仍旧为3619。其中的每一个值都是list a中对应的25个元素的对应位置的向量的平均值。

望各位大神提供一些思路,我可能表达的不够清楚,工科男,实在不好意思。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 Elements Element 不知道是不是 list

沙发
nerohanxudong 发表于 2017-9-28 14:02:10
可能表达的不够清晰,实在抱歉,我补充一下。

假设我现在有一个元素个数为81的list,把它想象成9乘以9的矩阵,矩阵的每个元素都包含5个数值。

现在我想要一个新的list,含有9个元素,把它想象成3乘以3的矩阵,矩阵的每个元素还是包含5个数值。

对应的是新的“矩阵”里的第一个元素[1,1],是由旧的矩阵内9个元素合成而来的[1:3,1:3],并且这个元素的每个数值都是旧的9个元素的数值的平均值。

拜托大家提供一点思路和帮助,谢谢!

藤椅
cheetahfly 在职认证  发表于 2017-9-29 23:19:57
nerohanxudong 发表于 2017-9-28 14:02
可能表达的不够清晰,实在抱歉,我补充一下。

假设我现在有一个元素个数为81的list,把它想象成9乘以9的 ...
我就针对二楼的问题你给一个思路:
  1. # 假设 m * n 大小的矩阵mat,其中m和n都是3的倍数
  2. library(tidyverse) # for the pipes
  3. mat %>%
  4.   array(dim = c(3, m / 3, 3, n / 3)) %>%
  5.   aperm(perm = c(3, 1, 2, 4)) %>%
  6.   array(dim = c(3, 3, m * n / 3 ^ 2)) %>%
  7.   apply(3, mean, na.rm = TRUE) %>%
  8.   matrix(nrow = m / 3)
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 12:55