Я пытаюсь прочитать 39 json файлов в общий набор данных sf в R.
Вот метод, который я пробовал:
path <- "~/directory"
file.names <- as.list(dir(path, pattern='.json', full.names=T))
geodata <- do.call(rbind, lapply(file.names, st_read))
Проблема в последняя строка: rbind
не может работать, потому что файлы имеют разное количество столбцов. Тем не менее, у всех них есть три общих столбца, которые мне не безразличны: MOVEMENT_ID
, DISPLAY_NAME
и geometry
. Как я могу выбрать только эти три столбца при запуске st_read?
Я попытался запустить geodata<-do.call(rbind, lapply(file.names, st_read,select=c('MOVEMENT_ID', 'DISPLAY_NAME', 'geometry')))
, но в этом случае st_read
, похоже, не распознает столбец геометрии (ошибка: «отсутствует столбец геометрии простых объектов»). Я также пытался использовать fread
вместо st_read
, но это не работает, поскольку fread
не адаптирован к пространственным данным.