我想要的是一个矩阵,其中每个元素本身都是一个列表。
看下面的例子:
1 2 3
1 1,2,4 1,2 1
2 Null 3,4,5,6 1,3
我看了这篇文章,并尝试了以下内容,但出现了错误:
b <- array()
b[j, i, ] <- A[i]
A是一个向量本身。
错误信息如下:
Error in b[j, i, ] <- A[i] : incorrect number of subscripts
如何定义和访问矩阵的每个元素以及包含列表的每个元素?
更新1:b<-matrix(list(),nrow = length(d), ncol =length(c))
Error in b[j, i] <- A[i] : replacement has length zero
我希望明确每个元素都是一个列表,并尝试使用长度从零到n不同的各种列表来填充它。
更新2:
running what @BondedDust commented :
b<-matrix(rep(list(),(c*d)),,nrow = length(d), ncol =length(c))
Erorr in b[[j*nrow(b)+i]] <- A[i] : attempt to select less than one element
A :
A[1]<-c(3) F[[1]]<-numeric(0) E[[1]]<-numeric(0)
A[2]<-c(1) F[2]<-c(1) E[2]<-c(1)
A[3]<-c(1) F[3]<-c(2) E[[3]]<-numeric(0)
A[[4]]<-c(1,3) F[[4]]<-numeric(0) E[[4]]<-numeric(0)
A[5]<-c(4) F[5]<-c(4) E[5]<-c(4)
第一行的值为A,第二行的值为F,第三行的值为E(每行有5列)。
这些数据不是以这种形式存储的,它们是另一个函数的输出(在A[i]
的位置有一个函数)。这些数据只是可重复地显示了A
的外观,并因此显示了矩阵中的位置,并在update2中返回error
。A[4]
是第4列第2行的元素。
matrix(list(c(1,2,3)))
еҗ—пјҹ - Molxmatrix
的文档并没有说明data
参数只能接受原子向量作为参数。它只是说as.vector
会删除属性(这将剥离日期、POSIXct 和因子参数的类)。如果它们只是列表(毕竟另一种形式的“R向量”),那么数据就不会受到影响。 - IRTFMt()
函数。 - IRTFM