【发布时间】:2020-02-06 02:50:02
【问题描述】:
我上传了一个带有"|," 分隔符的 .txt 文件,所以我使用了strsplit()
lob<-readLines("lob_lobbying.txt")
lob<-strsplit(lob, "|,", fixed=TRUE)
但是,输出是一个大列表,长度为 1213906。每个都是类型字符的列表,但其中一些长度为 16,其他长度为 17。
我想提取这些行中的每一行并将它们绑定到一个数据框中。
例如当我这样做时
X <-rbind(lob[[1]],lob[[2]], lob[[3]])
df<-as.data.frame(X)
X 正是我想要的输出类型(因为我可以执行 data.frame 并且效果很好!)但是,鉴于列表的长度为 1213906,我需要自动执行此过程。
但是一旦我尝试do.call(rbind, lob) 它就不起作用。我明白了
“结果的列数不是向量长度的倍数(arg 5)”
我认为是因为其中一些字符串的长度为 16,而其他字符串的长度为 17。
是否有一个循环来提取每个字符串,如果它们有 16 或 17 个字符,然后绑定它们?
【问题讨论】:
-
See here 提出一个人们可以帮助解决的 R 问题。目前,除了猜测您的数据是什么样子以及如何进行之外,很难做更多的事情。
标签: r list dataframe character subset