如何编写将字符向量转换为其元素的唯一对的字符向量的函数?

时间:2019-04-14 10:41:01

标签: r purrr stringr

输入内容为:

c("a", "b", "c")
[1] "a" "b" "c"

我想要一个返回的函数:

[1] "a;b" "a;c" "b;c"

我需要此功能来单独使用其输入。我已经尝试过使用purrr::map()purrr::reduce()进行一些操作,但是并没有获得任何有用的信息。

2 个答案:

答案 0 :(得分:1)

我们可以将基数R中的combnFUN参数一起用作paste

combn(x, 2, FUN = paste, collapse = ";")
#[1] "a;b" "a;c" "b;c"

数据

x <- c("a", "b", "c")

答案 1 :(得分:1)

不是确切的结果,但也许可能有用:

test<-c("a", "b", "c")
lapply(test,function(x) paste0(x,";",setdiff(test,x)))

结果:

[[1]]
[1] "a;b" "a;c"

[[2]]
[1] "b;a" "b;c"

[[3]]
[1] "c;a" "c;b"