我在 R 中有兩個資料框:
我的目標是兩個根據兩列找到兩個資料框之間的共同行,并在第一列中選??擇它們。例如,我有以下資料框:
c<- data.frame(A = c(4,6,7), B = c(5,9,8),C = c("T","T","F"))
d<- data.frame(A = c(6,7,3),B = c(9,8,3))
我希望結果是:
# A B C
# 6 9 T
# 7 8 F
uj5u.com熱心網友回復:
您可以使用以下代碼:
c<- data.frame(A = c(4,6,7), B = c(5,9,8),C = c("T","T","F"))
d<- data.frame(A = c(6,7,3),B = c(9,8,3),C = c("T","F","F"))
merge(c, d, by= c("A", "B", "C"))
輸出:
A B C
1 6 9 T
2 7 8 F
uj5u.com熱心網友回復:
library(data.table)
# set as data table
lapply(list(c,d), \(i)setDT(i))
# join
c[d, on=names(c), nomatch=0][1]
當您說“在第一個中選擇它們”時,我有一種感覺,我可能沒有完全理解。如果有,請解釋
uj5u.com熱心網友回復:
您可以對所有列進行內部聯接:
dplyr::inner_join(c, d, by = c('A', 'B', 'C'))
#> A B C
#> 1 6 9 T
#> 2 7 8 F
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455777.html
上一篇:提取函式內的資料框名稱以創建新列
下一篇:如何從有條件的資料框中提取對值?
