# distinct

From dplyr v0.7.8
by Hadley Wickham

##### Select distinct/unique rows

Retain only unique/distinct rows from an input tbl. This is similar
to `unique.data.frame()`

, but considerably faster.

##### Usage

`distinct(.data, ..., .keep_all = FALSE)`

##### Arguments

- .data
a tbl

- ...
Optional variables to use when determining uniqueness. If there are multiple rows for a given combination of inputs, only the first row will be preserved. If omitted, will use all variables.

- .keep_all
If

`TRUE`

, keep all variables in`.data`

. If a combination of`...`

is not distinct, this keeps the first row of values.

##### Details

Comparing list columns is not fully supported. Elements in list columns are compared by reference. A warning will be given when trying to include list columns in the computation. This behavior is kept for compatibility reasons and may change in a future version. See examples.

##### Examples

```
# NOT RUN {
df <- tibble(
x = sample(10, 100, rep = TRUE),
y = sample(10, 100, rep = TRUE)
)
nrow(df)
nrow(distinct(df))
nrow(distinct(df, x, y))
distinct(df, x)
distinct(df, y)
# Can choose to keep all other variables as well
distinct(df, x, .keep_all = TRUE)
distinct(df, y, .keep_all = TRUE)
# You can also use distinct on computed variables
distinct(df, diff = abs(x - y))
# The same behaviour applies for grouped data frames
# except that the grouping variables are always included
df <- tibble(
g = c(1, 1, 2, 2),
x = c(1, 1, 2, 1)
) %>% group_by(g)
df %>% distinct()
df %>% distinct(x)
# Values in list columns are compared by reference, this can lead to
# surprising results
tibble(a = as.list(c(1, 1, 2))) %>% glimpse() %>% distinct()
tibble(a = as.list(1:2)[c(1, 1, 2)]) %>% glimpse() %>% distinct()
# }
```

*Documentation reproduced from package dplyr, version 0.7.8, License: MIT + file LICENSE*

### Community examples

Looks like there are no examples yet.