Преобразуйте элементы списка в фрейм данных, оставив имена столбцов без изменений - PullRequest
2 голосов
/ 03 июля 2019

У меня есть список с несколькими элементами.Я хочу преобразовать эти элементы в отдельные кадры данных.Тем не менее, я не знаю, как сохранить имена столбцов.Пожалуйста, смотрите код ниже.

for (i in 1: length(mylist)) {
 assign(paste("df_",names(mylist[i]),sep = ""), as.data.frame(data.frame(mylist[i]),
col.names = names(dfi)))
}
names(df_april)

> names(df_april)
[1] "april.X"              "april.Latitude"       "april.month"          "april.count1"         "april.AOT40_1"        "april.count_full"    
[7] "april.AOT40_2"        "april.State.Code"     "april.County.Code"    "april.Longitude"      "april.Datum"          "april.Parameter.Name"
[13] "april.State.Name"     "april.County.Name"    "april.year"           "april.method"

Как вы можете видеть выше, я пытался использовать as.data.frame с определенным col.names = names(dfi), чтобы избавиться от "апреля" в именах этих столбцов.Но это не сработало.

Есть идеи?

1 Ответ

1 голос
/ 03 июля 2019

В коде OP измените [ на [[, так как первый по-прежнему равен list длины 1 и также имеет имя списка, а второй [[ извлекает элемент списка. Поэтому, естественно, когда мы делаем as.data.frame, имена элементов list также добавляются при выравнивании этого элемента

for (i in seq_along(mylist)) {
    assign(paste("df_",names(mylist[[i]]),sep = ""), mylist[[i]],
         col.names = names(dfi)))
  }
names(df_april)

ПРИМЕЧАНИЕ. Лучше не создавать несколько объектов в глобальной среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...