【发布时间】:2017-09-29 14:49:31
【问题描述】:
我想使用tidyverse(理想情况下)获取数据帧的唯一字符串列的所有唯一成对组合。
这是一个虚拟示例:
library(tidyverse)
a <- letters[1:3] %>%
tibble::as_tibble()
a
#> # A tibble: 3 x 1
#> value
#> <chr>
#> 1 a
#> 2 b
#> 3 c
tidyr::crossing(a, a) %>%
magrittr::set_colnames(c("words1", "words2"))
#> # A tibble: 9 x 2
#> words1 words2
#> <chr> <chr>
#> 1 a a
#> 2 a b
#> 3 a c
#> 4 b a
#> 5 b b
#> 6 b c
#> 7 c a
#> 8 c b
#> 9 c c
有没有办法在这里删除“重复”组合。在这个例子中,输出如下:
# A tibble: 9 x 2
#> words1 words2
#> <chr> <chr>
#> 1 a b
#> 2 a c
#> 3 b c
我希望有一个很好的 purrr::map 或 filter 方法来完成上述操作。
编辑:有与此类似的问题,例如here,由@Sotos 标记。在这里,我专门寻找 tidyverse (purrr, dplyr) 方法来完成我设置的管道。其他答案使用我不想包含为依赖项的各种其他包。
【问题讨论】:
-
@Sotos - 我已经读过这个问题了。我特别要求这个问题使用 tidyverse 包,特别是 purrr::map 解决方案。请删除重复标志