如何编写一个函数将字符向量转换为其元素唯一对的字符向量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写一个函数将字符向量转换为其元素唯一对的字符向量?相关的知识,希望对你有一定的参考价值。
输入的内容是:
c("a", "b", "c")
[1] "a" "b" "c"
我想要一个返回的函数:
[1] "a;b" "a;c" "b;c"
我需要这个功能完全不用它的输入。我已经尝试过purrr::map()
和purrr::reduce()
的一些东西,但我还没有设法得到任何有用的东西。
答案
我们可以使用来自基数R的combn
和FUN
参数作为paste
combn(x, 2, FUN = paste, collapse = ";")
#[1] "a;b" "a;c" "b;c"
数据
x <- c("a", "b", "c")
另一答案
不是确切的结果,但可能有用:
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"
以上是关于如何编写一个函数将字符向量转换为其元素唯一对的字符向量?的主要内容,如果未能解决你的问题,请参考以下文章