13

How do I go about in replacing the nth line of a text file in R?

4

2 回答 2

28

要替换此的第三行:

$ cat junk.txt
sic transit
gloria mundi
temeo danoas
et dona ferentes

做这个:

> latin = readLines("junk.txt",-1)
> latin[3]="per ardua ad astra"
> writeLines(latin,"junkout.txt")

并得到:

$ cat junkout.txt 
sic transit
gloria mundi
per ardua ad astra
et dona ferentes

如果需要,您可以writeLines(latin,"junk.txt")覆盖输入文件。

于 2012-08-01T09:47:10.477 回答
2

我不知道是否可以选择更改流文件中的特定行(在文件中查找),尽管您可以选择读取文件、更改列并将帧写入文件、读取、写入功能为您提供所需的东西。

您也可以使用read.table()将文件读入表格格式,更改特定行,然后write.table()

您有诸如 和 之类的选项read.csv()以及write.csv()许多其他选项,例如readLines().

编辑

这是R 中文件处理的 wiki 链接

于 2012-08-01T09:33:47.657 回答