Учитывая список:
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>
но это довольно неприятно, и числовая переменная становится фактором...