【发布时间】:2019-01-16 20:28:25
【问题描述】:
我有一个从一些旧的专有软件生成的文件 (prf003.tre),我正在尝试在 R 中进行编辑。 它的结构如下:
0001 116.00 1BF 19.2 0.0 5500 0
0001 216.00 1BF 19.2 0.0 5500 0
0001 316.00 1BF 19.2 0.0 5500 0
0001 416.00 1BF 19.2 0.0 5500 0
0001 516.00 1BF 19.2 0.0 5500 0
0001 616.00 1BF 19.2 0.0 5500 0
0001 716.00 1BF 19.2 0.0 5500 0
目标是能够导入文件,修改第2列的值来读取
prf003[, 2]
然后重新导出文件。
(每个单元格之间大约有 10-20 个空格,具体取决于哪一列。不幸的是,将其复制到 stackoverflow 中不会使其显示为这种方式,所以我将其粘贴为代码,希望没关系,对不起,我是新手。我需要以保持间距的完整性。)
我尝试导入 R,同时尝试 read.table 和 readLines。 read.table 不保留间距,但是我无法使用 readLines 修改第 2 列,因为它将它作为一列读取。有什么建议么?也许 read.table 中有一个我不知道的设置,但搜索并没有带来任何结果。
编辑:read.Table 还在我的第一列中删除了 0,有关如何保留“0001”的任何提示都会有所帮助。
【问题讨论】:
-
源文件中的间距是什么样的?您是否要在列之间保留确切数量的空格?
-
另外,使用
read.table(data, colClasses = "character")将防止前导零被丢弃。 -
@Mako212 间距如我粘贴的数据表所示-> col 1和col 2之间有2个空格,2和3之间有1个空格,3和4之间有5个空格第 4 列和第 5 列之间,第 5 列和第 6 列之间有 13 个空格,第 6 列和第 7 列之间有 8 个空格。是的
标签: r read.table