2015-07-13 22 views
0

行,我會建立在這個問題Remove Rows From Data Frame where a Row match a String刪除行如果某些變量同上

例如類似:

A,B,org.id 
4,3,Foo 
2,3,Bar 
2,4,Bar 
7,5,Zap 
7,4,Zap 
7,3,Zap 

我怎麼會返回排除所有行的數據幀,其中組織.id與上面的行相同?猜測:也許熔化()或cast()函數可以做到這一點。 (我只知道如何在Excel中,在這裏我要創建一個新的數據幀,並做這樣做,如果[A2 = A1,0,A2〕

問題也類似於Subtract the previous row of data where the id is the same as the row above但在SQL。

回答

1

您可以duplicated

df1[!duplicated(df1$org.id),] 
# A B org.id 
#1 4 3 Foo 
#2 2 3 Bar 
#4 7 5 Zap 

或者使用unique嘗試by選項

library(data.table) 
unique(setDT(df1), by='org.id') 
+0

我想**頭((dff_all2 [複製(dff_all2 $ ID),C(1,4, 617)]))** #但輸出: country_id id device_model頻道 177 BR 776962 iPhone5,1(iPhone 5)有機 189 BR 687574 GT-I9505三星SEM 310 BR 1037119 XT1058摩托羅拉有機 439 BR 735454 GT-I8190L三星有機 805 BR 779030 GT-S5360B三星直接 852 BR 661698 iPhone3,1(iPhone 4 GSM)直達 – jacob

+0

@jacob我的代碼是基於你展示的例子。請用一個新的例子來更新你的文章(最好用'dput')來引起異常。 – akrun