[英]Extracting rows from data frame based on another data frame
我正在嘗試根據另一個包含我感興趣的基因列表的數據矩陣從我的大型數據集中提取一組基因(行名)。 我讀過我應該使用 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
有人可以幫忙嗎? 我真的很感激,我為這個相當簡單的問題道歉:)
使用邏輯行索引:
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)
中,即small_data_base
的列Gene
中的唯一值列表,並返回 boolean 向量(TRUE 和 FALSE 向量)。
然后我們可以將此向量用作行“索引”以僅選擇向量為 TRUE 的行(即large_database$Gene
的值是unique(small_database$Gene)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.