我有一个非常大的文件,在开始时有一些标题,然后是八列中的大量数据但是这些数据没有以空格的常规方式分开(他们决定吐出以空格分隔的列但是如果某些列打破了“正常”大小,则列最终会被更多或更少的空格字符分隔。
我做的是,我可以使用连接读取文件,并使用gsub逐行读取,通过应用某个正则表达式,如下所示:
conn <- file("my_file.dat", open="rt")
y <- gsub("a_ver_large_regexp",
"\\1, \\2, \\3, \\4, \\5, \\6, \\7, \\8", #the columns I want csv'd
perl = TRUE,
readLines(conn, n=-1L))
然后我结束了y,一个字符向量,其中我在字符类中包含每个元素,但至少现在也用逗号分隔。
现在我想将y矢量转换为数据帧,我想它可能在某种程度上很容易,因为每个元素都是一个字符串,但它有逗号,所以我可以轻松阅读它们,任何想法如何做到这一点? / p>
答案 0 :(得分:1)
当我们看不到例如y
或原始数据时,尝试编写解决方案有点困难。但是,我认为
as.data.frame(do.call("rbind", strsplit(y, ",")))
可能会让你得到你想要的东西。