我创建了一个不同长度列表的矩阵。列表的长度由相同形状的矩阵中的元素确定。
我需要访问列表的元素。
myMatrix <- matrix(list(), nrow=Sims, ncol=Scens)
for (i in 1:Scens) {
for (j in 1:Sims) {
bin <- list(c(rlnorm(Frequency_matrix[j, i], meanlog=mu[i], sdlog=sigma[i])))
if (Frequency_matrix[j,i] == 0){
myMatrix[j, i] <- list(0)
} else {
myMatrix[j, i] <- bin
}
}
}
然后出现元素[1, 22]
的输出:
[1] 1665085 1444953 1393626 1076812 2187266
,是列表类。但是,列表为长度1。看来列表正在变平。
我无法访问此列表的元素。我希望能够使用:
访问元素myMatrix[1,22][[2]]
使用它,我的目标是根据单个列表元素的总和将秩相关应用于矩阵。但是,我也必须能够单独访问每个列表元素。
创建普通的数字向量而不是列表,而不是分配给myMatrix[i, j]
这样的myMatrix[[i, j]]
:
nr <- 4; nc <- 2
myMatrix <- matrix(list(), nr, nc)
for (i in 1:nr) {
for (j in 1:nc) {
myMatrix[[i, j]] <- c(i, j)
}
}
myMatrix[[3, 2]]
## [1] 3 2
尝试
myMatrix[1,22][[1]][2]
对于存储在第一行列表中的向量中的第二个项目和矩阵的第22列:)