根据另一个数据框架从数据框架中提取行。

问题描述 投票:0回答:1

我试图从我的大型数据集中提取一组基因(行名),基于另一个数据矩阵,其中包含我感兴趣的基因列表。我读到过关于我应该使用filter和%in%命令,但不确定如何正确地写它。

例如:我的大数据库。

Gene        Week1         Week 2.        Week 3
A.           20.           14.            5
B.           5.            10.            15
C.           2.            4.             6
D.           20.           18.            19

我的小数据库:

Gene
A
C
D

我希望我的结果是:

Gene        Week1         Week 2.        Week 3
A.           20.           14.            5
C.           2.            4.             6
D.           20.           18.            19

谁能帮帮我?我真的很感激,并为这个相当简单的问题道歉:)

r time-series filtering subset datamatrix
1个回答
2
投票

使用逻辑行索引。

large_database[large_database$Gene %in% unique(small_data_base$Gene), ]

解释:

large_database$Gene %in% unique(small_data_base$Gene)

检查每个条目(即行)在 large_database$Gene 如果出现在 unique(small_database$Gene) 即列中的唯一值列表。Genesmall_data_base 并返回一个布尔向量(TRUE和FALSE的向量)。

然后我们可以使用这个向量作为行 "索引",只选择向量为TRUE的行(即 large_database$Gene 是在 unique(small_database$Gene)

© www.soinside.com 2019 - 2024. All rights reserved.