我有一个文本文件,如下所示
(abc,123)
(def,456)
(ghi,789)
...
Run Code Online (Sandbox Code Playgroud)
在R中,我想将此文件作为csv读取.因此,我需要摆脱行尾的开始和结束括号.你知道如何实现这个目标吗?
如果可能,应该避免读取文件,删除括号和写入临时文件.
好吧,这似乎有效(在我的Mac上):
read.table(pipe("tr -d '()' < ~/Desktop/paren.txt"),header = FALSE,sep = ",")
V1 V2
1 123 abc
2 456 def
3 789 ghi
Run Code Online (Sandbox Code Playgroud)
我可能会走这readLines条路,因为需要首先操作文件。然后你仍然可以使用text参数read.csv/table
> writeLines(c("(abc,123)", "(def,456)", "(ghi,789)"), "yourfile.txt")
## put your data in a file
> txt <- gsub("[()]", "", readLines("yourfile.txt"))
> read.csv(text = txt, header = FALSE)
# V1 V2
# 1 abc 123
# 2 def 456
# 3 ghi 789
Run Code Online (Sandbox Code Playgroud)
或者
> read.table(text = txt, sep = ",")
# V1 V2
# 1 abc 123
# 2 def 456
# 3 ghi 789
Run Code Online (Sandbox Code Playgroud)