问题描述
向各位致敬!我仍然是 ggplot 的新手并试图理解,但我真的需要一些帮助。
编辑:我的数据集“Daten_ohne_Cluster_NA”的可重现数据,前 25 行
structure(list(ntaxa = c(2,2,5,6,8,7,5),mpd.obs.z = c(-1.779004391,-1.721014957,-1.77727283,-1.774642404,-1.789386039,-1.983401439,-0.875426386,-2.276052068,-2.340365105,-2.203126078,-2.394158227,-2.278173635,-1.269075471,-1.176760985,-1.313045215,-1.164289676,-1.247549961,-0.868174033,-2.057106804,-2.03154772,-1.691850922,-1.224391713,-0.93993654,-0.39315089,-0.418380361),mntd.obs.z = c(-1.759874454,-1.855202792,-1.866281778,-1.798439855,-1.739998395,-1.890847575,-0.920672112,-1.381541177,-1.382847758,-1.394870597,-1.339878669,-1.349541665,-0.516793786,-0.525476292,-0.557425575,-0.539534996,-0.521299478,-0.638951825,-1.06467985,-1.033009266,-0.758380203,-0.572401837,-0.166616844,0.399510209,0.314591018),pe = c(0.046370234,0.046370234,0.071665745,0.118619482,0.205838414,0.179091659,0.215719118,0.212092271,0.315391478,0.312205596,0.305510773,0.305510773),ECO_NUM = c(1,1,6)),row.names = c(NA,-25L),class = c("tbl_df","tbl","data.frame"))
(1) 我像这样准备了我的数据框:
'Daten_Cluster <- Daten[,c("ntaxa","mpd.obs.z","mntd.obs.z","pe","ECO_NUM")]
(2) 我用 na.omit 扔掉了所有的 NA。它有 6 个变量,每个变量有 3811 个对象。 ECO_NUM 列将不同的生态区表示为分类数字因子。
(3) 然后我用 k.means 做了一个聚类分析。我使用了 31 个组,因为我的数据集中有 31 个生态区,目的是稍后在生态区之后为绘图着色。
'Biomes_Clus <- kmeans(Daten_Cluster_ohne_NA,31,iter.max = 10,nstart = 25)
(4) 然后我按照 datanovia.com 上关于如何可视化 k.means 聚类分析的在线说明(我总是按照这些 How-To s 因为我不知道如何自己完成这一切)。我试图在生态区之后根据颜色更改参数。
fviz_cluster(Biomes_Clus,data = Daten_Cluster_ohne_NA,geom = "point",ellipse.type = "convex",ggtheme = theme_bw(),) +
stat_mean(aes(color = Daten_Cluster_ohne_NA$ECO_NUM),size = 4)
我在这里收到了 50 多个警告,我猜每个对象都有。说:In grid.Call.graphics(C_points,x$x,x$y,x$pch,x$size) : unimplemented pch value '30'
我知道 31 个组没有足够的 pch 符号,但我也不需要它们 - 我只是想让它着色。
我还尝试了另一个函数 ggscatter 并创建了我自己的调色板(称为 P36),其中包含超过 31 种颜色,以便为生态区域提供足够的颜色。
ggscatter(
ind.coord,x = "Dim.1",y = "Dim.2",color = "Species",palette = "P36",ellipse = TRUE,legend = "right",xlab = paste0("Dim 1 (",variance.percent[1],"% )" ),ylab = paste0("Dim 2 (",variance.percent[2],"% )" )
) +
stat_mean(aes(color = cluster),size = 4)
这里的错误是离散值被提供给连续尺度。问题是:我怎样才能轻松地为 k.means 的结果着色(有效),并且不是通过新聚集的组而是通过生态区为它着色(以可视化之间是否存在差异)集群和生态区组)?
感谢您的帮助,我和我的团队伙伴将非常感谢!! :) 问候 伊芙琳
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)