2016-03-07 90 views
0

我有一個數據框mydf,我聚集了mydf item_iclass_idept_i。這是聚合後的輸出,其中計數是item_iclass_idept_imydf中的多少個觀察值。然後我設置一個計數閾值並刪除那些行,即count < 5。我現在想要的是從mydf獲得以下數據框中的所有觀察結果。例如所有item_i == -1class_i == 0dept_i == 210等等等等。有什麼建議嗎?在同一列上通過多個條件篩選數據幀的多列

item_i class_i dept_i count 
1  -1  0 210 30 
4  57  0 210  6 
10 129  0 210  8 
11 130  0 210  9 
13 132  0 210  9 
28 248  0 210  6 

回答

1

使用dplyr包,然後簡單地

semi_join(mydf, newdf) 
#item_i class_i dept_i count 
#1  -1  0 210 30 
#2  57  0 210  6 
#3 129  0 210  8 

數據

mydf <- structure(list(item_i = c(-1L, 57L, 129L, 130L, 132L, 248L), 
    class_i = c(0L, 0L, 0L, 0L, 0L, 0L), dept_i = c(210L, 210L, 
    210L, 210L, 210L, 210L), count = c(30L, 6L, 8L, 9L, 9L, 6L 
    )), .Names = c("item_i", "class_i", "dept_i", "count"), class = "data.frame", row.names = c("1", 
"4", "10", "11", "13", "28")) 
newdf <- structure(list(item_i = c(-1L, 57L, 129L), class_i = c(0L, 0L, 
0L), dept_i = c(210L, 210L, 210L), count = c(30L, 6L, 8L)), .Names = c("item_i", 
"class_i", "dept_i", "count"), row.names = c("1", "4", "10"), class = "data.frame") 
+1

Thaaaaaaaaaaaaaaaaank你男人這正是我一直在尋找。 CHeeeeeeeeeeeeers –