【问题标题】:Building a new dataframe of affiliations based on common variables in R基于 R 中的公共变量构建新的隶属关系数据框
【发布时间】:2019-02-22 06:32:18
【问题描述】:

我不知道我的问题措辞是否正确,但我会在下面描述。

给定一个数据框,例如:

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

我想输出一个数据帧,其中 col 1 变量共享公共 col2 变量

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

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

我还没有找到自动化的方法,如果有任何见解,我将不胜感激。

【问题讨论】:

  • 您好,为什么您的第二帧中没有 B:C 和 D:A,或者为什么是 C:B 而不是 B:C?
  • 我正在尝试建立一个网络,所以我不确定是否需要重复。

标签: r data-manipulation


【解决方案1】:

检查一下:

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())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多