我想在R中运行循环时使用粘贴命令中的索引将值分配给预定义列表。
我总是会得到一个错误,即分配目标扩展到了非语言对象。
这里是一个例子:
List_1 <- List_2 <- list()
for(i in 1:2){
paste("List_", i, sep="")[[i]] <- i
}
预期的输出可以通过以下方式生成:
List_1[[1]] <- 1; List_1[[2]] <- 2
List_2[[1]] <- 1; List_2[[2]] <- 2
答案 0 :(得分:0)
更“ R”的方式可能是:
List_12 <- as.list(1:2)
for(i in 1:2){
for(j in 1:2){
List_12[[i]][[j]] <- i
}
}
您可以在该结构中命名列表:
names(List_12) <- paste0("List_",c(1,2))
然后您可以按名称编制索引:
List_12[["List_1"]]
答案 1 :(得分:0)
我不清楚为什么每个列表都应该只有零。但是,将项目分配给粘贴的名称在R中是一件令人头疼的事情。您必须使用assign函数并指定环境。像这样的东西。
<input />