res <- list()
for(i in 1:4){
for(j in 1:10){
res[[i]][j] <- j
}
}
我无法将结果存储在名为“res”的列表中。当我运行此代码时,它显示超出界限[[i]]
的下标答案 0 :(得分:2)
res
是一个空列表,因此您无法通过数字访问它的元素(尽管可以使用向量)。添加元素,它将起作用:
res <- list(0,0,0,0)
for(i in 1:4){
for(j in 1:10){
res[[i]][j] <- j
}
}
注意这种代码可能很慢;如果您已经知道每个向量中有多少东西,请创建适当大小的向量:
res <- list(numeric(10),numeric(10),numeric(10),numeric(10))
答案 1 :(得分:1)
你可以这样做:
res <- as.list(matrix(ncol=1,nrow=4))
for(i in 1:4){
for(j in 1:10){
res[[i]][j] <- j
}
}
答案 2 :(得分:1)
map
对此有用
library(purrr)
res <- map(1:4, ~map(1:10, ~.x))