как сделать графики PCA, как я разместил здесь

Я знаю, как использовать результаты PCA для рисования круга, но не удалось нарисовать x.lab и y.lab на основе результатов построения из s.class.

Как сделать сюжет, как я здесь разместил? two muppetsЯ хотел бы спросить об этом подробнее.

  1. Как сделать точки больше или меньше в соответствии с другой целочисленной переменной?

  2. Может ли ggplot2 нарисовать такой же круг, что и s.class? Предыдущие ответы не показывают, как рисовать круги.


person Ming    schedule 19.01.2016    source источник
comment
Вы ищете что-то вроде здесь или здесь?   -  person    schedule 19.01.2016


Ответы (2)


Размер точек может регулироваться с помощью 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)

введите здесь описание изображения

person CAFEBABE    schedule 19.01.2016

Что я сделал в функции pcoa мой пакет msap должен был использовать s.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)
    

    Посмотрите на хлаб.

  2. Нанесите точки для различных процедур/групп разными цветами/символами. Здесь вы можете установить размер точек, используя параметр cex.

    for(i in 1:ntt){
        points(spcoo[[i]], pch=21, col="black", bg=bgcolors[i])
    }
    
  3. Наконец, используйте c.class ade4 для построения эллипсов, звезд и групповых меток, но не точек (cpoint=0).

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

В моем коде я получаю фигуру, подобную этой фигуре PCOA:

введите здесь описание изображения

person anpefi    schedule 19.01.2016