我的输出看起来像:
str(a)
List of 8883695
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "ACCRUALS"
$ : chr [1:3] "20MICRONS" "A" "AE"
$ : chr [1:3] "20MICRONS" "A" "AE"
$ : chr [1:3] "20MICRONS" "A" "AE"
我想将其转换为数据框,如:
自动收报机频率字段
20MICRONS A ACCRUALS
20MICRONS A ACCRUALS
20MICRONS A AE
20MICRONS A AE
20MICRONS A AE
20MICRONS A AE
我试过这个:
b <- as.data.frame(a)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
但不行。请帮忙。我是R的新手并且堆栈溢出。
答案 0 :(得分:1)
我发现了一个名为do.call(rbind.data.frame, your_list)
的函数 - 看起来这就像你要找的那样。查看this question的评论部分。
答案 1 :(得分:0)
list
个元素的长度不是equal
。因此,我们需要通过使用length
NA
mx <- max(lengths(a))
d1 <- data.frame(lapply(a, `length<-`, mx))
答案 2 :(得分:0)
您可以尝试使用Reduce(rbind, a)
,这很方便。