根据R中的公共变量构建新的隶属关系数据框

时间:2019-02-22 06:32:18

标签: r data-manipulation

我不知道我的问题用词是否正确,但我将在下面进行描述。

给出一个数据框,例如:

+------+------+
| Col1 | Col2 |
+------+------+
| A    | z    |
| B    | z    |
| C    | z    |
| A    | x    |
| D    | x    |
+------+------+

我想输出一个共享共同col2变量的col 1变量之间有关联的数据框

+------+------+
| Col1 | Col2 |
+------+------+
| A    | B    |
| A    | C    |
| C    | B    |
| A    | D    |
+------+------+

如您所见,与其他Col1变量共享公共Col2变量的col1变量现在隶属于第二个数据帧。

我还没有找到一种使之自动化的方法,希望能获得任何见识。

1 个答案:

答案 0 :(得分:0)

检查:

library(tidyverse)

tibble(
  Col1 = c('A', 'B', 'C', 'A', 'D'),
  Col2 = c('z', 'z', 'z', 'x', 'x')
) %>%
  split(.$Col2) %>%
  map_dfr(~ combn(.x$Col1, 2) %>% t() %>% as.data.frame())