这似乎是不可能的,所以我的猜测是,我在思考如何不正确地处理数据,而不是简单地说我无法找到一种以我想象的方式处理数据的方法。我想要创建一个三维数组;我想这就像一个关系数据库。所有维度的行数都相同,但列数不同。例如,
我在想,这将是设置数据的最佳方法,这样我就可以轻松地浏览每一列,并在非生物或生物的范围内轻松地组合,只需使用订阅(例如,我可以在第二(非生物)维度(例如,dat,2 = log(dat,2) )中的所有变量(列)上应用一个函数,这可能与我想对所有生物变量做的事情不同。
这不是一种治疗组类型的分析,所以我不想要堆叠的数据(其中我重复了5次独特的位置,每个位置都有多种治疗方案-这对我来说没有任何意义,例如,
loc type var
1 ab 1
1 ab 2
1 ab 3
1 bi 1
1 bi 2
我对这些数据的思考方式被冻结了。在过去,我一直使用数组,订阅对我来说是如此直观。您真的可以创建一个数组,在每个维度中都有不同数量的列吗?如果没有,关于如何处理这些数据,我缺少什么?谢谢你的想法。
发布于 2014-11-12 17:11:04
是。你可以像你描述的那样
# build a 20 x 3 x 2 array
dat <- array(data, c(20,3,2))
# example of applying functions on a given dimension
log(dat[,,2])
不要求数组的尺寸大小相等。
https://stackoverflow.com/questions/26875755
复制相似问题