2017-04-14 86 views
0

我有兩個數據幀包含遺傳元素的名稱。我想要在兩個數據框中都有共同元素的另一個數據框。 例子:如何將兩個數據幀按相同元素組合

data.a  data.b 
    Column  Column 
1 a   c 
2 b   e 
3 c   l 
4 d   a 

我想這樣的結果:

data.c 
    Column 
1 a 
2 c 

這僅僅是一個例子。數據幀data.b具有比data.a更多的元素。

回答

1

%in%運算符可讓您查找哪些元素同時存在。

data.c = data.frame(Column = data.a$Column[data.a$Column %in% data.b$Column]) 
data.c 
    Column 
1  a 
2  c 
1
a <- data.frame(a = c("a","b","c","d")) 
a 
b <- data.frame(b = c("c","d","e","f")) 
b 
c <- data.frame(c = a[a$a %in% b$b,]) 
c 
+0

添加的*如何*上述解決這個問題將使其更對他人有用的簡要說明。 – Leigh

0
library(dplyr) 
data.a <- data_frame(a = c("a", "b", "c", "d")) 
data.b <- data_frame(a = c("c", "e", "l", "a")) 
data.c <- data.a %>% inner_join(data.b) 
1

合併功能允許您控制的加入你想要的類型。

df1 <- data.frame(a = c("a", "b", "c", "d")) df2 <- data.frame(a = c("c", "e", "l", "a")) merge(x=df1, y=df2, by.x="a", by.y="a", all = FALSE)

+0

感謝您的幫助,它在我的代碼中起作用。 –

相關問題