如何将列表强制转换为具有不相等列名的数据框,仅基于R

问题描述

我读过

我有一个列表,其中的列名不相等,我尝试将其转换为数据框,对于较短的行中缺少的条目,使用NA。使用tidyverse(例如,使用bind_rows)很容易,但这是针对仅应使用base R的低级软件包。

mylist = list(
  list(a = 3,b = "anton"),list(a = 5,b = "bertha"),list(a = 7,b = "caesar",d = TRUE)
)
# No problem with equal number of columns
do.call(rbind,lapply(mylist[1:2],data.frame))

# The list of my names
unique(unlist(lapply(mylist,names)))

# rbind does not like unequal numbers
do.call(rbind,lapply(mylist,data.frame))



解决方法

找出列表中的唯一列,在1|0.1|1/7/2010 12:00:00 AM|<exm><id>1</id></exm> 2|0.2|1/8/2010 12:00:00 AM|<exm><id>1</id></exm> 中使用lapply添加其他列。

setdiff

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...