How to extract unique elements from a data.frame in R?

15,650

Solution 1

A 'data.frame' can be considered as a 'list' with columns as 'list' elements having the same length. By using unlist, we can convert it to vector and then get the unique values and convert to 'character' class with as.character.

as.character(unique(unlist(df)))

Solution 2

Or simply:

unique(as.vector(as.matrix(df)))
## [1] "Hello" "fat"   "man"   "cat"   "dog"   "black"
Share:
15,650
Unstack
Author by

Unstack

Updated on June 04, 2022

Comments

  • Unstack
    Unstack about 2 years

    Can someone suggest a way to extract unique elements from a data.frame?

    I have noticed unique, but since it works on either rows or columns, it doesn't do what I'm looking for. I'm after unique cells from a data.frame.

    e.g.,

    df<-data.frame(V1=c("Hello","fat","man"),V2=c("cat","fat","Hello"),V3=c("man","dog","black"))
    

    Extracting unique elements should give me c("Hello","fat","man","cat","dog","black")