2015-06-21 102 views
3
 dfA <- data.frame(Efficiency=c(7,2,8,9), Value=c(3, 4, 7, 8)) 
    dfB <- data.frame(Efficiency=c(7,2,4,2,8,9), Value=c(3, 4, 4, 1, 7, 8)) 
    dfC <- data.frame(Efficiency=c(7,9), Value=c(3, 8)) 

我想獲得dfA和dfB的通用行。從生成的data.frame中,我想刪除與dfC具有相同值的行。 DFA和DFB(僅普通行) - DFC(重疊行)數據幀操作:過濾常見行並刪除多行數據幀

+1

所以要'DFM < - 合併(DFA ,dfB,by = c(「Efficiency」,「Value」))',然後從'dfC $ Value'中減去'dfm $ Value',這個值更短,並且具有完全相同的值。我很困惑,請指定什麼「常見行」的意思,什麼應該從什麼 – grrgrrbla

+0

@grrgrrbla扣除:我澄清說明 – suzukiav

+2

嘗試'子集(合併(dfA,dfB),!(效率%在%dfC $效率和價值%dfC $ Value)) - dfC' – akrun

回答

4

這應該工作:

library(dplyr) 
inner_join(dfA, dfB) %>% anti_join(dfC) 

這給:

Efficiency Value 
1   8  7 
2   2  4 
+0

你必須從矩陣轉換對象做一個data.frame像這樣:'dfA < - data.frame(dfA)',如果這回答你的問題考慮通過點擊箭頭接受答案 – grrgrrbla

+0

我還不能投票。我首先需要15點聲望。一旦我有了,我會給你投票。順便說一下,如果我只想添加兩個數據框,我該怎麼辦?假設dfA + dfB(將每個數據框的所有行集中在一個數據框中)非常感謝! – suzukiav

+0

這不是關於接受答案:),你可以在你問一個問題後總是這樣做,它旁邊有一個勾號,你可以點擊接受答案;回答你的問題:根據你想要將它們按列還是按行綁定,可以是'rbind(dfA,dfB)'或'cbind(dfA,dfB)' – grrgrrbla