R 将字符向量列表转换为数据帧

R 将字符向量列表转换为数据帧,r,R,我的输出a如下所示: 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" $ : c

我的输出a如下所示:

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"
我想将其转换为数据帧,如:

自动售票机频率场

20亿美元应计利润
20亿美元应计利润
20微米A AE
20微米A AE
20微米A AE
20微米A声发射

我试过这个:

b <- as.data.frame(a)  
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?

b列表
元素的长度不相等。因此,我们需要通过使用
NA

mx <- max(lengths(a))
d1 <- data.frame(lapply(a, `length<-`, mx))

mx列表
元素的长度不相等。因此,我们需要通过使用
NA

mx <- max(lengths(a))
d1 <- data.frame(lapply(a, `length<-`, mx))

mx我发现了一个名为
do.call的函数(rbind.data.frame,你的列表)
-看起来这就是你要找的。查看的注释部分。

我发现了一个名为
do.call(rbind.data.frame,您的列表)
-似乎这就是您要查找的功能。查看的注释部分。

您可以尝试
Reduce(rbind,a)
,这很方便。

您可以尝试
Reduce(rbind,a)
,这很方便。

步骤1。制作一个较小的示例来测试代码。你有800万个,第一步。制作一个较小的示例来测试代码。您有800万个这样的向量。@shivrajgondi这会自动更正它,方法是将长度小于最大长度的元素分配给尽可能多的NAs,以使所有元素具有相同的长度。感谢Akrun,发现某些向量的长度为4。@shivrajgondi您的部分
str
输出建议长度为3,可能是4基于完整的
str
@shivrajgondi这会自动更正它,方法是将小于最大长度的元素分配给pad,并使用尽可能多的NAs,以使所有元素具有相同的长度,发现某些向量的长度为4。@shivrajgondi您的部分
str
输出建议长度为3,可能是基于完整
str