在 Dataframe R 中存储 for 循环的输出

Store output of for loops in Dataframe R

我正在尝试将两个 for 循环的结果存储在数据框中。

    comp <- c(mp, ct, n158, out)
    df <- data.frame()
    for (i in length(comp)){
      lst <- comp[i]
      d <- data.frame()
      for (t in seq(1, sapply(lst, length))){
        ob <- sapply(lst, function(m) m[t] ) 
        dt <- train_data[(train_data$ADDR_POSTALCODE == as.numeric(ob)),]
        dt$AREA <- names(lst)
        d <- rbind(d, dt)
      }
      df <- rbind(df, d)
    }

在我的代码中,d 和 df 包含相同的值,因为第一个循环的结果没有连接起来。 Comp 是 4

的列表
List of 4
 $ MP    : num [1:3] 94107 94110 94114
 $ Center: num [1:3] 94102 941103 941104
 $ 158   : num 94158
 $ Outer : num [1:4] 94112 94122 94132 94143

Df 仅包含最后一个列表 "outer" 的值,但循环应存储所有四个列表的结果。 有谁知道错误在哪里,我只是无法弄清楚。提前致谢

你的下一行有错误(它只迭代一次,值为 4 ):

for (i in length(comp)){

那一行应该是:

for (i in 1:length(comp)){