如何从 R 中的 data.frame 中提取唯一元素?

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

有人可以建议一种从 data.frame 中提取唯一元素的方法吗?

我注意到了 unique,但由于它适用于行或列,所以它无法满足我的要求。我正在寻找来自 data.frame.

的独特细胞

例如,

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

提取唯一元素应该给我 c("Hello","fat","man","cat","dog","black")

A​​ 'data.frame' 可以被认为是一个 'list' 列作为具有相同长度的 'list' 元素。通过使用 unlist,我们可以将其转换为 vector,然后获取 unique 值并使用 as.character 转换为 'character' class。

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

或者简单地说:

unique(as.vector(as.matrix(df)))
## [1] "Hello" "fat"   "man"   "cat"   "dog"   "black"