我有一个看起来像这样的数据集:
col1 | col2
a | b c d
e | f g h i j
我从gtool知道排列功能:
p <- (permutations(n=4,r=2,v=df),repeats.allowed=FALSE)
可以重复或不重复地提取不同的排列,但是我需要保留第1列,以便预期的结果是:
a b
a c
a d
e f
e g
e h
e i
e j
文档未指定如何完成类似的操作。第二个向量是可变长度,我将使用str_extract_all将其拉出。
有人见过实现上述目标的方法吗?预期的结果是将一个边缘文件用于网络绘图。
答案 0 :(得分:1)
您可以使用tidyr::separate_rows
:
library(tidyr)
df %>%
separate_rows(col2, sep = " ")
col1 col2
1 a b
2 a c
3 a d
4 e f
5 e g
6 e h
7 e i
8 e j
数据:
df <- read.table(text = "col1 col2
a 'b c d'
e 'f g h i j'", header = TRUE, stringsAsFactors = FALSE)