Удалить компоненты списка шейп-файлов в R - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть шейп-файл почтовых индексов, сохраненный во фрейме данных myShapefile. Первая строка и десятый столбец в этом фрейме данных содержат список списков с координатами границы для почтового индекса. См. Изображение 1.

Изображение 1

Как видите, это список из трех списков координат. Они рисуют границу почтового индекса, показанную на рисунке 2. Обратите внимание на два многоугольника внутри большего, которые соответствуют 2-му и 3-му спискам граничных координат.

Изображение 2

То, что я пытаюсь сделать, это удалить 2-й и 3-й «подсписки» из этого списка координат и сохранить только первый «подсписок» (с 935 точками). Я попытался сохранить только первый «подсписок» в новом объекте списка, а затем переписать 1-й ряд и 10-й столбец в моем фрейме данных шейп-файла следующим образом:

a = myShapefile[[10]][[1]]
A = list(list(a[[1]][[1]]))
myShapefile[[10]][[1]] = A

Изображение 3 показывает, что A выглядит так, как мне кажется, хотя я заметил, что теперь отсутствует часть list[1](S3,XY,MULTIPOLYGON, которая присутствовала на изображении 1.

Изображение 3

Когда Я пытаюсь просмотреть myShapefile, я получаю эту ошибку:

Error in vapply(lst, class, rep(NA_character_, 3)) : 
values must be length 3, 
but FUN(X[[1]]) result is length 1

Что я здесь не так делаю?

...