R中有两个分隔符的数据

Cam*_*lla 4 r dataframe

我有一个包含多个分隔符的文本文件.这是一个数据样本:

12 ->3 4 5
14->2 1
1->3 5 6
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种简单的方法来获取以下格式的数据:

12 3
12 4
12 5
14 2
14 1
 1 3
 1 5
 1 6
Run Code Online (Sandbox Code Playgroud)

Dav*_*urg 8

我试图重现你的情况,cat并希望它是你真正拥有的.所以我们说这是你的文件

cat("12 ->3 4 5
     14->2 1
     1->3 5 6", 
    file = "test.txt")
Run Code Online (Sandbox Code Playgroud)

使用data.table,我通过指定一些错误的分隔符快速读取它,因此结果将是单列数据集

library(data.table)
dt <- fread("test.txt", 
            sep = ",", 
            header = FALSE)
Run Code Online (Sandbox Code Playgroud)

下一步是双重拆分,首先分离箭头(->)两侧的数字,然后按组拆分

dt[, tstrsplit(V1, "\\s*->\\s*", type.convert = TRUE)
   ][, strsplit(V2, "\\s+"), by = .(indx = V1)]
#    indx V1
# 1:   12  3
# 2:   12  4
# 3:   12  5
# 4:   14  2
# 5:   14  1
# 6:    1  3
# 7:    1  5
# 8:    1  6
Run Code Online (Sandbox Code Playgroud)