Это (бессмысленная) усеченная версия моего цикла for в R, который вычисляет землепользование для некоторых полигонов. Он хорошо перебирает данные, за исключением случаев, когда он должен привязывать вычисления к data.frame, используя plyr::rbind.fill()
. Я получаю желаемый результат, но также (то же самое количество) дополнительные нежелательные столбцы, заполненные значениями NA (я думаю, это как-то связано с именами столбцов).
agri_coverage <- data.frame(matrix(rnorm(3), nrow=1))
set.seed(23)
agri <- rnorm(10, 0.5)
land_use <- NULL
for (i in seq_along(agri)) {
name <- agri[i]
if (name > 1) {
wl <- as.list(unlist(agri_coverage[ ,1:3]))
} else {
wl <- as.list(rep(NA, 3))
}
land_use <- rbind.fill(land_use, data.frame(wl)) #combine output
}
Какая лучшая функция/метод объединяет эти списки в один фрейм данных и почему создаются эти дополнительные столбцы?
Я пробовал другие функции, такие как rbind()
, data.table::rbindlist()
, но безуспешно.