unique()
unique(x, incomparables = FALSE, MARGIN = 1, fromLast = FALSE, ...) Returns:
same type as x · Updated March 13, 2026 · Base Functions vector subsetting base deduplication
unique() returns a vector, data frame, or array with duplicate elements removed. This function is fundamental for data cleaning and analysis.
Syntax
unique(x, incomparables = FALSE, MARGIN = 1, fromLast = FALSE, ...)
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
x | vector/data.frame/array | — | Input object to process |
incomparables | vector | FALSE | Values to treat as incomparable |
MARGIN | integer | 1 | For arrays: 1 for rows, 2 for columns |
fromLast | logical | FALSE | If TRUE, count from last occurrence |
... | arguments | — | Additional arguments passed to methods |
Examples
Basic usage with vectors
x <- c(1, 2, 2, 3, 3, 3, 4)
unique(x)
# [1] 1 2 3 4
Working with character vectors
names <- c("Alice", "Bob", "Charlie", "Alice", "Diana", "Bob")
unique(names)
# [1] "Alice" "Bob" "Charlie" "Diana"
With data frames
df <- data.frame(
id = c(1, 2, 2, 3, 4, 1),
name = c("A", "B", "B", "C", "D", "A")
)
unique(df)
# id name
# 1 1 A
# 2 2 B
# 3 3 C
# 4 4 D
Using fromLast argument
x <- c(1, 2, 2, 3)
unique(x, fromLast = TRUE)
# [1] 1 2 3
Common Patterns
Remove duplicates from data frame
df_unique <- unique(df)
library(dplyr)
df_unique <- distinct(df)
Find unique combinations
unique(interactions[, c("user_id", "item_id")])