我的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。
感谢。我希望这是有道理的。
答案 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), ]
}