【问题标题】:clHow to change the coordinate in kmeans cluster如何更改kmeans集群中的坐标
【发布时间】:2020-07-20 17:37:15
【问题描述】:

我通过 Kmeans 集群绘制集群图。我想更改坐标,在图像中,变量位于第 4 个坐标中,其余变量位于第 2 和第 3 个坐标中。所以我想在第二个坐标中绘制一个变量,在第一个和第四个坐标中绘制其余变量。此外,我想让情节变黑

我使用的代码:

df <- na.omit(HLA_A)

df <- scale(df) 

km.res <- eclust(df, "kmeans", k = 6,
                 nstart = 25, graph = TRUE)

head(km.res$cluster, 15)

fviz_cluster(km.res,  ellipse.type = "norm", ellipse.level = 0.6, repel = TRUE)

【问题讨论】:

  • 他们在不同的坐标是什么意思?数据点是根据他们在 PC1 和 PC2 上的分数/预测绘制的。你能详细说明你想绘制什么吗?这里的坐标很模糊
  • 在这个聚类图中,我想把右边(x轴)上的所有变量带到左边或者更好的解释我想翻转x轴值到左侧(连同所有变量),即 5、0、-5、-10。如何做呢?另外,我想把我寻求你帮助的那个图做成黑白的。
  • 尝试类似下面的东西.. 不是在原始图中,有些点没有标记,这些是集群的中心。我没有绘制它们

标签: r dataframe k-means


【解决方案1】:

没有您的数据,但您可以尝试以下方法。基本上你会取回用于绘图的 data.frame,并将其传递给 ggplot,指定几何图形等:

library(factoextra)
library(ggplot2)
library(ggrepel)
set.seed(122)
df = scale(iris[,-5])
df = df[sample(nrow(df),40),]
km.res <- eclust(df, "kmeans", k = 6,nstart = 25, graph = FALSE)

plt = fviz_cluster(km.res,  ellipse.type = "norm", ellipse.level = 0.6, repel = TRUE)
print(plt)

ggplot(plt$data,aes(x=x,y=y,shape=cluster)) + 
geom_point() + scale_x_reverse() + theme_bw() + 
geom_text_repel(aes(label=name)) +
stat_ellipse(level=0.7)

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2019-04-04
    • 2015-04-05
    • 2017-06-01
    • 2019-01-04
    • 1970-01-01
    • 2013-07-15
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多