我是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?
中编写代码答案 0 :(得分:-2)
您可以在一行中使用Reduce
和intersect
。
我认为a1
,a2
,a3
实际上是data.frame
s(而不是vector
s)。然后做:
common_elements <- Reduce(intersect, list(a1[, 1], a2[, 1], a3[, 1]));
common_elements;
#[1] "p53" "PTEN"
如果改为a1
,a2
,a3
是向量,那么
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)