2016-10-28 6 views
0

Я работаю на разбор некоторых данных из четырехугольный апи и у меня есть одна части результатов, которые выглядят следующим образом, большой список с вложенным dataframes:unest списка вложенных фреймов данных в R

     List of 1 
         $ :List of 26 
         ..$ :'data.frame': 1 obs. of 6 variables: 
         .. ..$ id  : chr "4bf58dd8d48988d129951735" 
         .. ..$ name  : chr "Train Station" 
         .. ..$ pluralName: chr "Train Stations" 
         .. ..$ shortName : chr "Train Station" 
          .. ..$ icon  :'data.frame': 1 obs. of 2 variables: 
          .. .. ..$ prefix: chr       "https://ss3.4sqi.net/img/categories_v2/travel/trainstation_" 
        .. .. ..$ suffix: chr ".png" 
        .. ..$ primary : logi TRUE 
        ..$ :'data.frame': 1 obs. of 6 variables: 
       .. ..$ id  : chr "4bf58dd8d48988d1fe931735" 
        .. ..$ name  : chr "Bus Station" 
        .. ..$ pluralName: chr "Bus Stations" 
       .. ..$ shortName : chr "Bus Station" 
       .. ..$ icon  :'data.frame': 1 obs. of 2 variables: 
        .. .. ..$ prefix: chr  "https://ss3.4sqi.net/img/categories_v2/travel/busstation_" 
        .. .. ..$ suffix: chr ".png" 
        .. ..$ primary : logi TRUE 
        ..$ :'data.frame': 1 obs. of 6 variables: 

Я пытаюсь убрать эти данные для определенных элементов, чтобы я мог привязать их к существующему ранее файлу. В конце концов, я хотел бы конечный результат, чтобы выглядеть следующим образом:

     $id        $name 
        4bf58dd8d48988d129951735  train station 
        4bf58dd8d48988d1fe931735  bus station 

т.д.

Спасибо!

ответ

1

Предположим, что ваш большой список называется mylist. После этого вы можете либо перебирать mylist[[1]] и извлечь соответствующие столбцы:

do.call(rbind, lapply(mylist[[1]], `[`, c("id", "name"))) 

или использовать rbind.pages функцию от jsonlite:

jsonlite::rbind.pages(mylist[[1]])[c("id", "name")] 

оба из которых даст вам

#       id   name 
# 1 4bf58dd8d48988d129951735 Train Station 
# 2 4bf58dd8d48988d1fe931735 Bus Station 
+0

как обычно вы парни рок! Цените, что помощь отлично работала! – LoF10

Смежные вопросы