我有一个嵌套列表,其中一些元素为空列表(extract):
str(myList)
List of 100
$ :'data.frame': 2 obs. of 10 variables:
..$ _index : chr [1:2] "alias_fr" "alias_fr"
..$ _type : chr [1:2] "triplet" "triplet"
..$ _id : chr [1:2] "Q9327" "Q3122270"
$ : list()
$ :'data.frame': 1 obs. of 9 variables:
..$ _index : chr "alias_fr"
..$ _type : chr "triplet"
..$ _id : chr "Q17009"
我需要使用bind_rows索引每个元素:
df <- bind_rows(myList, .id = "id")
不幸的是,空元素(示例中的第二个)被删除,结果是索引编制错误(索引转移):
id _index _type _id
1 1 alias_fr triplet Q9327
2 1 alias_fr triplet Q3122270
3 2 alias_fr triplet Q17009
我的期望:
id _index _type _id
1 1 alias_fr triplet Q9327
2 1 alias_fr triplet Q3122270
3 2 NA NA NA
3 3 alias_fr triplet Q17009
我已经尝试了几种方法但没有取得任何成功:
Convert R list to dataframe with missing/NULL elements ...
有没有办法让bind_rows考虑空元素?
答案 0 :(得分:0)
假设
我的方法是将不是数据帧的元素更改为具有1行NA和具有其他数据帧的相同列名称的元素。
VersionOverrides
我相信这会解决你的问题。
对于创建没有数据的数据帧,您可以在SO上引用这些线程: