【发布时间】:2017-12-27 10:33:24
【问题描述】:
我正在尝试将两个 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”的值,但循环应该存储所有四个列表的结果。 有谁知道错误在哪里,我只是想不通。提前致谢
【问题讨论】:
-
请提供一个可重现的例子(使用
dput)
标签: r for-loop dataframe rbind