我正在尝试在 R 中读取用 ::(两个冒号)分隔的数据。当我使用sep = "::"
read.table 函数时,我收到一条错误消息,“sep 值必须是一个字节。” 我想知道我是否可以在 R 中读取这些数据。在 Python 中读取这些数据没有任何问题。
现在,我使用sep=":"
然后在另一个“:”的列中获取 NA。所以我删除了NA的列。有没有办法通过在 R 中指定 sep = "::" 来直接读取数据?
假设我们有:
A::B::C
23::34::56
12::56::87
90::43::74
在一个 txt 文件中。然后我们可以这样做:
lines <- readLines("doublesep.txt")
> lines
[1] "A::B::C" "23::34::56" "12::56::87" "90::43::74"
lines <- gsub("::", ",", lines)
> lines
[1] "A,B,C" "23,34,56" "12,56,87" "90,43,74"
现在,您可以写入文件或转换为data.frame
对象:
> read.table(text=lines, sep=",", header=T)
A B C
1 23 34 56
2 12 56 87
3 90 43 74
> writeLines(lines, "doubletosingle.csv")