如何在R中从数据框中提取唯一的元素?

5

有人能建议一种从数据框中提取唯一元素的方法吗?

我注意到了unique,但由于它适用于行或列,它并不能做到我想要的。我需要从数据框中获取唯一单元格。

例如:

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

6
将数据框 df 中所有元素展开成向量,去除重复值,并将结果转化为字符型向量。 - akrun
1
似乎对我有效!谢谢。 - Unstack
2个回答

16

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

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

3
或者简单来说:
unique(as.vector(as.matrix(df)))
## [1] "Hello" "fat"   "man"   "cat"   "dog"   "black"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接