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

问题描述 投票:1回答:2

输入的内容是:

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

我想要一个返回的函数:

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

我需要这个功能完全不用它的输入。我已经尝试过purrr::map()purrr::reduce()的一些东西,但我还没有设法得到任何有用的东西。

r purrr stringr
2个回答
1
投票

我们可以使用来自基数R的combnFUN参数作为paste

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

数据

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

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"
© www.soinside.com 2019 - 2024. All rights reserved.