【问题标题】:How to select common values in multiple data frames in R? [duplicate]如何在R中的多个数据框中选择公共值? [复制]
【发布时间】:2018-08-23 13:10:27
【问题描述】:

我是 R 新手。我有 3 个数据框

a1
1 p53
2 NFKB
3 P73
4 P21
5 PTEN

a2
1 p21
2 p53
3 ERGIC3
4 MAP3K3
5 PTEN

a3
1 PTEN
2 MAP3K3
3 ERGIC3
4 AURKA
5 p53

我有一个表格作为输出,只显示常见的值,如 p53 和 PTEN,这在所有三个数据帧中都很常见。我应该如何在 R 中编写代码?

【问题讨论】:

标签: r


【解决方案1】:

您可以在单行中使用Reduceintersect

我假设a1a2a3 真的是data.frames(而不是vectors)。然后做:

common_elements <- Reduce(intersect, list(a1[, 1], a2[, 1], a3[, 1]));
common_elements;
#[1] "p53"  "PTEN"

如果 a1a2a3 是向量,你会这样做

common_elements <- Reduce(intersect, list(a1, a2, a3));
common_elements;

样本数据

a1 <- read.table(text =
    "a1
1 p53
2 NFKB
3 P73
4 P21
5 PTEN", header = T)

a2 <- read.table(text = 
    "a2
1 p21
2 p53
3 ERGIC3
4 MAP3K3
5 PTEN", header = T)

a3 <- read.table(text = 
    "a3
1 PTEN
2 MAP3K3
3 ERGIC3
4 AURKA
5 p53", header = T)

【讨论】:

  • 反对票有点苛刻,考虑到这是一个有效的解决方案,我在欺骗标志之前发布了这个。
猜你喜欢
  • 1970-01-01
  • 2021-03-29
  • 2022-12-20
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 2021-02-03
  • 2021-02-18
  • 2022-08-21
相关资源
最近更新 更多