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

R 如何编写函数将字符向量转换为其元素的唯一对的字符向量?,r,purrr,stringr,R,Purrr,Stringr,输入将是什么: c("a", "b", "c") [1] "a" "b" "c" 我想要一个返回以下内容的函数: [1] "a;b" "a;c" "b;c" 我需要这个函数完全依赖于它的输入。我用purr::map()和purr::reduce()尝试了一些东西,但没有得到任何有用的东西 我们可以将combn从基本R与FUN参数一起用作paste combn(x, 2, FUN = paste, collapse = ";") #[1] "a;b" "a;c" "b;c" 数据 x <

输入将是什么:

c("a", "b", "c")
[1] "a" "b" "c"
我想要一个返回以下内容的函数:

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

我需要这个函数完全依赖于它的输入。我用
purr::map()
purr::reduce()
尝试了一些东西,但没有得到任何有用的东西

我们可以将
combn
从基本R与
FUN
参数一起用作
paste

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

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

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

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

完美,甚至不知道存在
combn()!非常感谢。
[[1]]
[1] "a;b" "a;c"

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

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