【发布时间】:2013-03-22 19:24:45
【问题描述】:
我收到了一个具有以下结构的统计输出文件:
> 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 个数值列组件- 行号可能明显不同,但组件 2 和 3 始终相同
我需要将其拆分为每个组件的 data.frames:
1 个组件 - 第一个两列部分
2 个组件 - 1 个列部分
3 个组件 - 第二个两列部分
我找不到将相似数据文件拆分为 3 个组件的通用方法。
我找到了使用不同分隔符作为拆分对象的示例,但没有使用列号和分隔符选项的这种特殊情况。
请让我知道这个例子是否足够。我不确定分隔符选项对于这个特定问题的相关性如何。我认为不是。
【问题讨论】:
-
好像只有两列?或者最后一列是[空格] [制表符] [空格]?难道你不能只使用 read.table,将分隔符设置为 sep=" \t " (带空格),然后从那里取它吗?
-
@ako: 是的,只有 两个 列包含数据,但在每个最后一个数字条目之后都有分隔符在第 1 和第 3 部分。它们与提取重要数据无关。
read.table()正确处理将数据读入 3 列(第 3 列为空)。这并不能解决我的问题,即寻找一种通用方法来拆分 3 个组件。 -
在组件 1 或组件 3 的第二列中是否会有
NA值? -
能否也显示您期望的输出,谢谢?
标签: r