读取R中用两个冒号分隔的数据

时间:2013-11-09 21:05:01

标签: r separator

我正在尝试读取R中用::(两个冒号)分隔的数据。当我使用带有read.table函数的sep = "::"时,我收到一条错误消息,“sep值必须是一个字节。”我想知道我是否可以在R中读取这些数据。我在Python中读取这些数据没有任何问题。

现在,我使用sep=":",然后在另一个“:”的列中获取NA。所以我删除了NA的列。有没有办法直接通过在R?

中指定sep =“::”来读取数据

1 个答案:

答案 0 :(得分:6)

假设我们有:

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")