R中带有嵌套数据帧的不完整列表 [英] unest list with nested data frames in R

查看:98
本文介绍了R中带有嵌套数据帧的不完整列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从foursquare api中解析出一些数据,结果的一部分如下所示,其中包含嵌套数据帧的大列表:

I'm working on parsing out some data from the foursquare api and I have one portion of the results that look like the following, a large list with nested dataframes:

                     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:

我正在尝试将这些数据框用于某些元素,以便将它们绑定到我已有的文件中.最终,我希望最终结果如下所示:

I'm trying yo unnest these dataframe for certain elements so that i can cbind them to a pre-existing file I have. Ultimately I would like the end result to look something like the following:

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

谢谢!

推荐答案

假设您的大型列表称为mylist.然后,您可以遍历mylist[[1]]并提取相关列:

Suppose your large list is called mylist. Then you can either iterate through mylist[[1]] and extract the relevant columns:

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

或使用jsonlite中的rbind.pages函数:

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

两者都会给你

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

这篇关于R中带有嵌套数据帧的不完整列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆