5

知道如何使用 PCA 结果绘制圆,但未能根据绘图结果绘制x.lab和绘制。y.labs.class

如何制作我在这里发布的情节? 两个木偶 我想问更多关于这个。

  1. 如何根据另一个整数变量使点变大或变小?

  2. 可以ggplot2画同一个圆s.class吗?以前的答案没有显示如何绘制圆圈。

4

2 回答 2

6

使用 size 调整点的大小。可以通过 stat_ellipsis 添加省略号

pca <- prcomp(iris[iris$Species %in% c("virginica","versicolor"),1:4], retx = TRUE,  scale = TRUE,tol=0.4)
predicted <-predict(pca,iris[,1:4])
ggplot(data.frame(predicted))+aes(x=PC1,y=PC2,color=iris$Species)+geom_point(aes(size=iris$Sepal.Length))+stat_ellipse()+stat_ellipse(level=0.8)

在此处输入图像描述

于 2016-01-19T06:50:29.600 回答
2

我在我的包的pcoa功能中所做的只是用于椭圆和质心:msaps.class

  1. 添加空图,标签和限制取决于几个变量:

    plot(0,0, main=paste(name,surname, sep=": "), type = "n",
      xlab=paste("C1 (",var1,"%)"),ylab=paste("C2 (",var2,"%)"), 
      xlim=c(minX-10^floor(log10(abs(minX))),maxX+10^floor(log10(abs(maxX)))), 
      ylim=c(minY-10^floor(log10(abs(minY))),maxY+10^floor(log10(abs(maxY)))),
     frame=TRUE, cex=1.5)
    

    看看xlab。

  2. 用不同的颜色/符号绘制不同治疗/组的点。在这里,您可以使用 cex 参数设置点大小

    for(i in 1:ntt){
        points(spcoo[[i]], pch=21, col="black", bg=bgcolors[i])
    }
    
  3. 最后使用 ade4 的 c.class 绘制椭圆、星形和组标签,但不绘制点 (cpoint=0)

    s.class(pcol$points, groups, cpoint=0, col=bgcolors, add.plot=TRUE)
    

在我的代码中,我得到一个像这样的 PCOA 图:

在此处输入图像描述

于 2016-01-19T09:04:48.143 回答