N B*_*wer 5 r text-files read.table
我正在尝试自动读取从另一个分析程序生成的文件.
标准输出通常为6列,以空格分隔,末尾带有回车符.通过在"read.table"中简单地使用"strip.white = TRUE",可以很好地读取.
我有一个问题,但是,如果参数被固定为常量,则b/c将注释添加到一行.
添加"flush = TRUE"允许我跳过这些偶尔的评论并阅读所有内容.
我想要做的是将这些注释(可能只在给定文件中出现一次)添加为第7列.
是否有读入方法允许我指定列数或其他方式使第7列符合要求?
可以在此处找到一小段数据
数据如下所示:
columns_1&2 column_3 column_4 column_6 column_6 column_7
84:S 0:dorm 1.0000000 0.11E-005 0.9999979 1.0000021
85:p N:veg 1.0000000 0.0000000 1.0000000 1.0000000 Fixed
86:p 0:dorm 0.260E-08 0.237E-05 -0.03E-05 0.46E-005
Run Code Online (Sandbox Code Playgroud)
Jos*_*ien 10
如果您的所有列都与链接示例中的列整齐排列(即,如果它是"固定宽度文件"),那么这是一项工作read.fwf():
df <- read.fwf(file = "http://dl.dropbox.com/u/54791824/SO_data_frag.txt",
widths = c(8, 7, 29, 15, 16, 16,1000))
head(df,4)
V1 V2 V3 V4 V5 V6 V7
1 82:S 0:dorm 1 1.625420e-06 0.9999968 1.000003
2 83:S 0:dorm 1 1.083245e-06 0.9999979 1.000002
3 84:S 0:dorm 1 1.081771e-06 0.9999979 1.000002
4 85:p N:veg 1 0.000000e+00 1.0000000 1.000000 Fixed
Run Code Online (Sandbox Code Playgroud)
编辑:或者,正如Joran在评论中指出的那样,您可以使用read.table()以下fill=TRUE选项:
df2 <- read.table(file = "http://dl.dropbox.com/u/54791824/SO_data_frag.txt",
fill = TRUE,
col.names=paste("column", 1:7, sep="_")
Run Code Online (Sandbox Code Playgroud)