在R中运行循环时在粘贴命令中包含索引

时间:2019-03-26 14:35:40

标签: r list for-loop indexing

我想在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

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 />