簡體   English   中英

基於另一個數據框從數據框中提取行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM