我将获得一个具有以下结构的统计输出文件:
> dput(x)
structure(list(V1 = c(0.236364, 0.032086, 0.062762, 0.095238,
NaN, 0, 1, 2, 3, 4, 0.258706, 0.436735, 0.104167, 0.611336, 0.160279
), V2 = c(0.183333, 0.623333, 0.796667, 0.14, 0, NA, NA, NA,
NA, NA, 0.67, 0.816667, 0.96, 0.823333, 0.956667), V3 = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("V1",
"V2", "V3"), class = "data.frame", row.names = c(NA, -15L))
读取数据的链接: https://docs.google.com/file/d/0BxSZDr4eTnb9aDhCOGRxVEV5aVE/edit?usp=sharing
数据属性:
无标题
该文件使用特定的分隔符选项
numeric [space] [tab] [space] numeric [space] [tab] [space]#为2个数字列组件
<小时/> 我需要将其拆分为每个组件的data.frames:
我找不到将类似数据文件拆分为3个组件的一般方法。
我发现使用不同分隔符作为拆分对象的示例,但没有使用列号和分隔符选项的特殊情况。
如果示例足够,请告诉我。我不确定分隔符选项与此特定问题的相关性如何。我认为不是。
答案 0 :(得分:1)
你可以先将3个字符的分隔符翻译成一个字符delims吗?
在命令行上,您可以尝试:
cat input.txt | sed 's/ \t /\t/g' > input2.txt
这将用“\ t”的
替换所有“\ t”或者你可以在你最喜欢的txt编辑器中打开它并找到/替换所有
一旦分隔符采用标准格式,进行进一步处理就会容易得多
答案 1 :(得分:1)
如果组件1或组件3数据的第二列中没有NA
值,则此处rle
可能有用。基本方法,如果我正确理解您的问题并且相关条件成立,则应查看{{1}中“{V2}”列中NA
值的运行您共享的数据。 dput
会返回一个逻辑向量,我们可以使用is.na(x$V2)
来确定数据的拆分位置:
rle