Tôi có một data.frame như thế này -Remove nhân đôi hàng sử dụng dplyr
set.seed(123)
df = data.frame(x=sample(0:1,10,replace=T),y=sample(0:1,10,replace=T),z=1:10)
> df
x y z
1 0 1 1
2 1 0 2
3 0 1 3
4 1 1 4
5 1 0 5
6 0 1 6
7 1 0 7
8 1 0 8
9 1 0 9
10 0 1 10
Tôi muốn loại bỏ các hàng trùng lặp dựa trên hai cột đầu tiên. Sản lượng dự kiến -
df[!duplicated(df[,1:2]),]
x y z
1 0 1 1
2 1 0 2
4 1 1 4
Tôi đang tìm kiếm giải pháp sử dụng gói dplyr
.
@dotcomken Cho đến lúc đó cũng có thể chỉ cần sử dụng 'df%>% group_by (x, y)%>% làm (người đứng đầu (1)) ' –
@MahbubulMajumder sẽ hoạt động nhưng khá chậm. dplyr 0.3 sẽ có 'khác biệt()' – hadley
@hadley Tôi thích hàm duy nhất() và khác biệt(), tuy nhiên, tất cả chúng đều loại bỏ bản sao thứ 2 khỏi khung dữ liệu. nếu tôi muốn có tất cả các cuộc gặp gỡ đầu tiên của giá trị trùng lặp bị xóa thì sao? Làm thế nào điều này có thể được thực hiện? Cảm ơn vì bất kì sự giúp đỡ! – FlyingDutch