Хранить выходные данные для циклов в 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 содержат одинаковые значения, потому что результаты первого цикла не объединяются. Комп список из 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 содержит только значения для последнего списка "external", но цикл должен хранить результаты для всех четырех списков. Кто-нибудь знает, где ошибка, я просто не могу понять. заранее спасибо
1 ответ
Решение
У вас есть ошибка в строке ниже (ее повторяется только один раз со значением 4):
for (i in length(comp)){
эта строка должна быть:
for (i in 1:length(comp)){