我将基于此问题构建类似于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
如何返回排除org.id与上一行相同的所有行的数据框?
A,B,org.id
4,3,Foo
2,3,Bar
7,5,Zap
猜猜:也许使用melt()或cast()函数可以解决这个问题。 (我只知道如何在excel中执行此操作,我必须创建一个新的数据帧并执行 IF [a2 = a1,0,a2] 。)
问题也类似于Subtract the previous row of data where the id is the same as the row above,但这是在sql中。
答案 0 :(得分: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')