如何在R中将嵌套不相等的大列表转换为data.frame/datatable
我在推特上列出了一个很大的列表。每个顶部子列表如何在R中将嵌套不相等的大列表转换为data.frame/datatable,r,dataframe,R,Dataframe,我在推特上列出了一个很大的列表。每个顶部子列表twitter[[i]]都是为每个tweet创建的。但是不是每个顶部子列表都有相同的结构,其中一些可能没有特定的位置。我怎样才能将这样的列表转换成一个数据框,它的每一行都包含每条tweet的信息,并使用NA来弥补缺少的信息 让我们以twitter[[10101]](已编辑)为例: > str(twitter[[10101]]) $ retweeted : logi FALSE $ text
twitter[[i]]
都是为每个tweet创建的。但是不是每个顶部子列表都有相同的结构,其中一些可能没有特定的位置。我怎样才能将这样的列表转换成一个数据框,它的每一行都包含每条tweet的信息,并使用NA
来弥补缺少的信息
让我们以twitter[[10101]]
(已编辑)为例:
> str(twitter[[10101]])
$ retweeted : logi FALSE
$ text : chr "RT @TeriChristoph: W-T-H??? 'Rep. Speier: \030Women Will Attain The Position of First Class Citizens\031 Under Obamacare' http:"| __truncated__
$ id_str : chr "182608843031842816"
$ source : chr "<a href=\"http://www.tweetdeck.com\" rel=\"nofollow\">TweetDeck</a>"
$ entities :List of 3
..$ urls :List of 1
.. ..$ :List of 4
.. .. ..$ indices : num [1:2] 116 136
.. .. ..$ display_url : chr "shar.es/p4fyt"
.. .. ..$ url : chr "http://t.co/T62gHwaE"
.. .. ..$ expanded_url: chr "http://shar.es/p4fyt"
..$ user_mentions:List of 1
.. ..$ :List of 5
.. .. ..$ id_str : chr "15932085"
.. .. ..$ screen_name: chr "TeriChristoph"
.. .. ..$ name : chr "Teri Christoph"
.. .. ..$ id : num 15932085
..$ hashtags : list()
.. ..- attr(*, "class")= chr "AsIs"
$ favorited : logi FALSE
$ contributors : NULL
$ place : NULL
$ created_at : chr "Wed Mar 21 23:25:15 +0000 2012
$ geo : NULL
$ user :List of 38
..$ is_translator : logi FALSE
..$ show_all_inline_media : logi FALSE
..$ profile_link_color : chr "9D582E"
..$ id_str : chr "16504112"
..$ name : chr "Sheryl"
$ id : num 1.83e+17
$ truncated : logi FALSE
str(推特[[10101]]
$retweeted:logi FALSE
$text:chr“RT@TeriChristoph:W-T-H???众议员斯皮尔:\030根据奥巴马医改法案http://__
$id_街:chr“18260884301842816”
$source:chr“”
$实体:共3个
..$URL:1个URL的列表
.. ..$ :4人名单
.. .. ..$ 索引:num[1:2]116 136
.. .. ..$ 显示url:chr“shar.es/p4fyt”
.. .. ..$ 网址:chr“http://t.co/T62gHwaE"
.. .. ..$ 扩展url:chr“http://shar.es/p4fyt"
..$user_提到:1个列表
.. ..$ :5人名单
.. .. ..$ 身份证号码:chr“15932085”
.. .. ..$ 屏幕名称:chr“TeriChristoph”
.. .. ..$ 姓名:chr“Teri Christoph”
.. .. ..$ 编号:15932085
..$hashtags:list()
.. ..- 属性(*,“类”)=chr“AsIs”
$favorited:logi FALSE
$contributors:NULL
$place:NULL
$created_于:chr“Wed Mar 21 23:25:15+0000 2012
$geo:NULL
$user:38人名单
..$is_翻译:logi FALSE
..$show\u all\u inline\u媒体:logi FALSE
..$profile\u link\u颜色:chr“9D582E”
..$id_街:chr“16504112”
..$name:chr“Sheryl”
$id:num 1.83e+17
$truncated:logi FALSE
关于将带有子列表的列表转换为数据帧,已经给出了很多答案。其中有任何一个有用吗?pkg:plyr中有一个
rbind.fill
函数,其描述是“按行组合data.frames,填充缺少的列”。如果您使用dput(twitter[10100:10102])
,我会尝试一个解决方案。您可能还想尝试data.table::rbindlist(…,fill=TRUE)