字符串列的层次图

Hierarchical Plot of Columns of Strings

我有一个 10 行乘 7 列的数据框。每行、每列都是一个字符串。

我想知道是否有一个包可以对列进行分层 clustering/coloring?

例如假设它是三列五行:

V1 V2 V3 V4 V5
a  a  c  d  e 
b  b  d  f  b
c  c  e  a  c
d  d  g  b  d
e  f  h  c  e

是否有一个包可以显示 V1/V2 高度相关并绘制它?假设成对元素匹配则严格相关。

> d<-data.frame(V1=c('a','b','c','d','e'),V2=c('a','b','c','d','f'),V3=c('c','d','e','g','h'),V4=c('d','f','a','b','c'),V5=c('e','b','c','d','e'), stringsAsFactors=F)
> res<-outer(1:5,1:5, FUN=Vectorize(function(i,j) sum(d[,i]==d[,j]) ))
> res
     [,1] [,2] [,3] [,4] [,5]
[1,]    5    4    0    0    4
[2,]    4    5    0    0    3
[3,]    0    0    5    0    0
[4,]    0    0    0    5    0
[5,]    4    3    0    0    5

> library(corrplot)
> corrplot(res/5)

请参阅 https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html 了解更多绘图选项,包括聚类。 注意:V1/V2 和 V1/V5 与您的示例相同 "highly correlated"。