[R-br] como fazer plot de componentes principais em cores?

Alisson Lucrécio alisson.lucrecio em ifgoiano.edu.br
Terça Maio 24 20:19:38 BRT 2016


Jackson,

Você quer classificar por uma variável quantitativa? Se for isso, segue um
script abaixo.

mat5 <- matrix(rnorm(2000), ,4) # minha matriz
mat5
ages<-seq(1, 50000, by = 100) #idades
ages

library(plotrix)

agecol <- color.scale(ages, extremes=c("purple","red")) # encaixando a
escala de cor nas idades

library("vegan")

pca<-princomp(mat5) # calculando componentes principais

biplot(pca, cex=1, col = agecol) # plotando componentes princiapais.

plot(pca$scores[, 1L:2L], col = agecol)

pca_data <- data.frame(PC1 = pca$scores[, 1],
                       PC2 = pca$scores[, 2],
                       ages = ages)

library(ggplot2)

ggplot(pca_data) +
  aes(x = PC1,
      y = PC2,
      colour = ages) +
  geom_point() +
  theme(legend.position="none")

Att.,

Alisson

2016-05-24 18:21 GMT-03:00 Cesar Rabak [via R-br] <
ml-node+s2285057n4666229h35 em n4.nabble.com>:

> Jackson,
>
> Eu tenho bastante experiência com ACP no R, tanto usando as funções do
> pacote base, como o do FactoMiner e ADE, mas não do vegan, e portanto minha
> observação pode ser incorreta:
>
> Você parece estar misturando duas soluções de produção de gráficos do R, o
> vegan usa o lattice e você quer que ele use um objeto que define cores do
> plotrix.
>
> Examinando seu CMR eu consegui fazer algo que *creio* seja o que você
> deseja desta forma:
>
> > plot(test.pca,display="sites", cex=1, type="none",scaling=-3)
> > points(test.pca,display="sites", cex=1, scaling=-3, col=agecol)
>
> Não consigo interpretar o resultado para ver se as cores fazem sentido 🤔.
> . .
>
> HTH
> --
> Cesar Rabak
>
>
>
> 2016-05-24 11:42 GMT-03:00 Jackson Rodrigues <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=4666229&i=0>>:
>
>> Oi pessoal,
>>
>> Eu preciso fazer um PCA que varie as cores em função dos anos. O mais
>> antigo em vermelho e a medida que chega as datas mais recentes vai ficando
>> roxo (uma escala de cor).
>>
>> eu tenho esse exemplo hipotético.
>>
>> mat5 <- matrix(rnorm(2000), ,4) # minha matriz
>> mat5
>> ages<-seq(1, 50000, by = 100) #idades
>> ages
>>
>> library(plotrix)
>> agecol<-color.scale(ages,extremes=c("purple","red")) # encaixando a
>> escala de cor nas idades
>>
>> rownames(mat5) <- c(seq ) # fazendo as idades os nomes da linhas da matriz
>>
>> library("vegan")
>> test.pca<-rda(mat5) # calculando componentes principais
>> plot(test.pca,display="sites", cex=1, type="p",scaling=-3) # plotando
>> componentes princiapais.
>>
>> O problema é: Como fazer os pontos do gráfico ficarem coloridos como
>> estabelecido  em " agecol<-color.scale(ages,extremes=c("purple","red")) "
>>
>> Agradeço desde já a ajuda
>>
>> Abraços
>> Jackson
>>
>> _______________________________________________
>> R-br mailing list
>> [hidden email] <http:///user/SendEmail.jtp?type=node&node=4666229&i=1>
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
> _______________________________________________
> R-br mailing list
> [hidden email] <http:///user/SendEmail.jtp?type=node&node=4666229&i=2>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a
> c�digo m�nimo reproduz�vel.
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://r-br.2285057.n4.nabble.com/R-br-como-fazer-plot-de-componentes-principais-em-cores-tp4666226p4666229.html
> To unsubscribe from R-br, click here
> <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=YWxpc3Nvbi5sdWNyZWNpb0BnbWFpbC5jb218MzM1Nzk4MnwxMDk0NDY4OTU4>
> .
> NAML
> <http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>



-- 
Alisson Lucrecio da Costa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160524/8714412a/attachment.html>


Mais detalhes sobre a lista de discussão R-br