Liechi 我最初写的跟你的这个类似,但是发现得到的数据结构有点复杂:
> str(df)
List of 8
$ : num 1
$ : num 2
$ : logi NA
$ : num 4
$ : num 11
$ : logi NA
$ : num 33
$ : logi NA
- attr(*, "dim")= int [1:2] 4 2
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:2] "l1" "l2"
所以前后增加了一些操作,目的只是为了得到一个简单的 data frame。
不过,你这个解法启发我动了点歪脑筋,可以绕开烧脑的 lapply sapply apply 家族:
df <- do.call(cbind, l)
write.table(df, 'clipboard')
read.table('clipboard', na.strings = 'NULL')
Cloud2016 赞 data.table,确实一剑封喉。
data.frame(t(data.table::rbindlist(l)))
#> Warning in data.table::rbindlist(l): Column 3 [''] of item 1 is length 0. This
#> (and 2 others like it) has been filled with NA (NULL for list columns) to make
#> each item uniform.
#> X1 X2
#> V1 1 11
#> V2 2 NA
#> V3 NA 33
#> V4 4 NA