duplicated()とdata.frameのインデックスの操作で重複を取り除く。
# サンプルデータ
set.seed(71)
dat <- matrix(floor(runif(30, min = 0,max = 10)), ncol = 3)
dat <- as.data.frame(dat)
colnames(dat) <- c("a", "b", "c")
# a列をキーに重複した値を持つ行を除外
dat[!duplicated(dat$a), ]
# b列とc列をキーに重複した値の組を持つ行を除外
dat[!duplicated(paste(dat$b, dat$c, sep = ",")), ]
###dplyr
を使った場合
@yamano357さんより
# a列をキーに重複した値を持つ行を除外
dat %>% dplyr::distinct(a)
# b列とc列をキーに重複した値の組を持つ行を除外
dat %>% dplyr::distinct(b, c)
スッキリかけるみたいです。
特に制約がないのであればdplyr
を使いましょう。