R clustering PAM将国家标签添加到clustplot

时间:2017-10-26 14:49:50

标签: r cluster-analysis

我正在尝试将国家标签添加到clustplot中,并且似乎无法显示除数字之外的任何其他内容,而我需要各自的国家/地区来展示。

以下是我尝试使用的代码行

fvi.use = exampledata[,-c(1)]
medians = apply(fvi.use,2,median)
mads = apply(fvi.use,2,mad)
cars.use = scale(fvi.use,center=medians,scale=mads)
cars.dist = dist(fvi.use)
cars.hclust = hclust(cars.dist)
plot(cars.hclust,labels=exampledata$Country,main='Heirarchial clustering')

cars.pam = pam(cars.dist,5)
names(cars.pam)
clusplot(cars.pam, attr(exampledata$Country,"Labels"), labels=5)
plot(cars.pam, labels=exampledata$Country)
mosaicplot(cars.use)
clusplot(cars.pam, attr(exampledata$Country,"Labels"), labels=5)

示例数据是第一列中带有国家/地区名称的矩阵,然后是我想要进行群集分析的另外三列数据

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

根据您的说明

  

示例数据是第一列中带有国家/地区名称的矩阵,然后是   然后我想要做三个数据列   分析

我假设您要使用国家/地区名称标记 points clusplot.default的文档说

  

如果x是矩阵,则点的标签是x的rownames。

为此,您需要将行名称设置为要显示的国家/地区。 以下是垃圾数据的示例。

library(cluster)

Countries = c('Afghanistan', 'Albania', 'Algeria',
    'Andorra', 'Angola','Antigua', 'Argentina',
    'Armenia',   'Aruba', 'Australia', 'Austria', 'Azerbaijan')

set.seed(2017)
Data = data.frame(Countries, iris[sample(150,12), 2:4])
rownames(Data) = Countries
PAM3 =pam(Data[2:4], 3)
clusplot(PAM3, labels=3, lines=0)

Clusplot with labeled points