我试图在数据帧中存储两个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”的值,但循环应存储所有四个列表的结果。有谁知道错误在哪里,我只是想不出来。提前致谢
你的下一行有一个错误(它的值只有一次迭代一次):
for (i in length(comp)){
该行应该是:
for (i in 1:length(comp)){