dplyrを使用して重複行を削除する 質問する

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

最初の2列に基づいて重複行を削除したいと思います。予想される出力 -

df[!duplicated(df[,1:2]),]
  x y z
1 0 1 1
2 1 0 2
4 1 1 4

特にパッケージを使用したソリューションを探していますdplyr

ベストアンサー1

を使用した解決策は次のとおりですdplyr >= 0.5

library(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 %>% distinct(x, y, .keep_all = TRUE)
    x y z
  1 0 1 1
  2 1 0 2
  3 1 1 4

おすすめ記事