簡體   English   中英

比較兩個數據框並保留與特定行匹配的列

[英]Compare Two Data Frame And Keep Columns That Match For Specific Row

我有兩個數據框,它們有一行是唯一鍵並且存在於兩個數據集中。 我只想保留那些特定行值匹配的列。

對於下面的數據Data_1第一行是1 , 2 , 3 , 4 ,但是Data_2只有1 , 2 , 3 我想要比較或子集,以便Data_1只有第一行為1 , 2 , 3 ,因為這些鍵僅存在於兩個數據幀中。

目標不是合並,而是基於兩個不同數據幀的比較進行子集化。

關於如何完成這項工作的任何建議?

數據_1

read.table(text = "A    B    C    D
       1    2    3    4
       1.1  1.2  1.3  1.4
       1.1  1.2  1.3  1.4
       1.1  1.2  1.3  1.4
       1.1  1.2  1.3  1.4
       1.1  1.2  1.3  1.4", header = T)

數據_2

read.table(text = "A1    B1    C1  
       1    2    3   
       1.0  2.2  4.3 
       1.0  2.2  4.3 
       1.0  2.2  4.3 
       1.0  2.2  4.3 
       1.0  2.2  4.3 ", header = T)

輸出

只有Data_1發生變化,因為它有一個額外的行不在Data_2基於第 2 行的值

read.table(text = "A    B    C
       1    2    3 
       1.1  1.2  1.3
       1.1  1.2  1.3
       1.1  1.2  1.3
       1.1  1.2  1.3
       1.1  1.2  1.3", header = T)

你的問題有點不清楚。 但是,如果您只是嘗試根據 data_2 中的一行對 data_1 進行子集化,則下面的代碼將起作用。 換句話說,下面的代碼生成您想要的“輸出”數據幀。

data_1 <- read.table(text = "A    B    C    D
                             1    2    3    4
                             1.1  1.2  1.3  1.4
                             1.1  1.2  1.3  1.4
                             1.1  1.2  1.3  1.4
                             1.1  1.2  1.3  1.4
                             1.1  1.2  1.3  1.4", header = T)

data_2 <- read.table(text = "A1    B1    C1  
                             1    2    3   
                             1.0  2.2  4.3 
                             1.0  2.2  4.3 
                             1.0  2.2  4.3 
                             1.0  2.2  4.3 
                             1.0  2.2  4.3 ", header = T)

output <- data_1[data_1[1,] %in% data_2[1,]]

    A   B   C
1 1.0 2.0 3.0
2 1.1 1.2 1.3
3 1.1 1.2 1.3
4 1.1 1.2 1.3
5 1.1 1.2 1.3
6 1.1 1.2 1.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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