如何解析此数据框

时间:2014-04-09 20:45:40

标签: r dataframe

我有一个非常大的数据文件,由Hadoop转储,超过300G。我别无选择,只能抽样。

fileName <-file(".\file.dat")
data <- sqldf("select * from fileName order by random(*) limit 1000")

完成此操作后,我发现数据是一个数据框对象,有1000个obs,1个变量。

没有列名或与此相关的任何内容,如何将数据对象分成列?现在,似乎列被标签分隔了。

示例输入行是

GxWdY-ixdsiqhy5P9Z-5Ug==    20140405    1896    329 3   0   1   NULL    2   6   2   140x140 476435  1   23  3199.0  3199.0  0.0 403 403

我怀疑它应该是lapply(data, split(sep = "\t"))或其他什么?

1 个答案:

答案 0 :(得分:1)

怎么样:

data <- data.frame(rep("GxWdY-ixdsiqhy5P9Z-5Ug==    20140405    1896    329 3   0   1   NULL    2   6   2   140x140 476435  1   23  3199.0  3199.0  0.0 403 403",2))

从一列数据帧转换为字符向量:

datstr <- as.character(data[[1]])

作为单独的列阅读:

read.table(textConnection(datstr),sep="\t")

当我复制粘贴你的例子时,标签丢失了,但如果你真的在你的输出中有它们应该工作。如果你的任何字符列中没有空格,那么你甚至不需要sep参数 - read.table默认使用通用空格分隔。 / p>