矩阵和向量到三维阵列R.

时间:2016-08-02 00:48:55

标签: arrays r

我的i x j矩阵为1/0。每行代表一个人 和列是访问(元素Y / N)。

A<-matrix(rbinom(21,1,.5), nc=3, nr=7)

有一个表示个人小组的向量

b<-c(1,2,2,1,1,2,3)

我想制作尺寸为i x j x max(b)的三维数组。

M<-array(NA, c(nrow(A),ncol(A),max(b)))

然后从顶行向下填充M以及相关的1/0行 对于那个人和调查。在结尾留下任何额外的行为NA。

感谢。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

不确定我是否理解这个问题,你想要这样的东西吗?

A<-matrix(rbinom(21,1,.5), nc=3, nr=7)
b<-c(1,2,2,1,1,2,3)
M<-array(NA, c(nrow(A),ncol(A),max(b)))
for (i in unique(b)) {
    M[seq_along(which(b == i)), , i] = A[which(b == i), ]
}