Cho một danh sách:Chuyển đổi danh sách R để dataframe với các yếu tố còn thiếu/NULL
alist = list(
list(name="Foo",age=22),
list(name="Bar"),
list(name="Baz",age=NULL)
)
là những cách tốt nhất để chuyển đổi này vào một dataframe với tên và tuổi cột, với các giá trị còn thiếu (Tôi sẽ chấp nhận NA hay "" theo thứ tự ưu tiên đó)?
Phương pháp đơn giản sử dụng ldply
không thành công vì nó cố chuyển đổi từng phần tử danh sách thành một khung dữ liệu, nhưng một với thanh bar NULL vì độ dài không khớp. Tôi tốt nhất có tại thời điểm này là:
> ldply(alist,function(s){t(data.frame(unlist(s)))})
name age
1 Foo 22
2 Bar <NA>
3 Baz <NA>
nhưng đó là khá icky và biến số sẽ trở thành một yếu tố ...
Loại phiền toái rằng 'check.rows = FALSE' vẫn đưa ra lỗi về các hàng có số quan sát khác nhau ... –