Search code examples
rdataframeunique

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


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")


Solution

  • 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)))