给出一个列表数据帧:转换[R列表缺失/ null元素
alist = list(
list(name="Foo",age=22),
list(name="Bar"),
list(name="Baz",age=NULL)
)
什么是将此转换成与姓名和年龄列的数据框的最佳途径,缺失值(我会接受NA或“”按照优先顺序)?
使用ldply
的简单方法会失败,因为它会尝试将每个列表元素转换为数据框,但由于长度不匹配而使用NULL barfs。最好的我目前所面对的是:
> ldply(alist,function(s){t(data.frame(unlist(s)))})
name age
1 Foo 22
2 Bar <NA>
3 Baz <NA>
但是那是相当恶心和数值变量变成一个因素......
恼人的那种'check.rows = FALSE'还提供了有关具有不同数量的观测... –