varimorph package:unknown R Documentation Análises de Componentes Principais (PCA) em diferentes níveis taxonômicos (ou outro agrupamento) e Teste de Mantel. Description: A função realiza Análises de Componentes Principais considerando diferentes níveis de análise ou agrupamentos definidos previamente pelo usuário. A partir de um data frame contendo todos os dados, a função identifica os diferentes níveis de análise determinados pelo usuário, realizando a PCA e construindo gráficos do tipo biplot para cada nível de análise. Além disso, a função também oferece a opção de realizar o Teste de Mantel para comparar as matrizes de correlação de diferentes subconjuntos dos dados originais, definidos pelo usuário. Usage: varimorph (x, ngroup=1, inclusive=FALSE, scale.pca=TRUE, scaling.biplot=2, choices.biplot=c(1,2), Mantel=FALSE, nsim=1000, x.cor, y.cor, x.ncol, y.ncol) Arguments: um data frame contendo os dados para as análises. As variáveis devem estar nas colunas e as observações nas linhas. Os níveis de análise devem estar x discriminados nas primeiras colunas da matriz de dados. Cada agrupamento é uma coluna e os fatores dessa coluna determinam os níveis do agrupamento. A primeira linha do data frame deve conter o nome das colunas. Veja 'Details' para mais detalhes. ngroup número de colunas que identificam os agrupamentos no data frame. Quando inclusive=TRUE, ngroup deve ser maior que 1. inclusive se igual a TRUE, determina que os agrupamentos definidos pelo usuário são inclusivos, ou seja, representam níveis hierárquicos. Se inclusive=FALSE (default), os agrupamentos não representam níveis hierárquicos. Veja 'details' para mais detalhes. scale.pca se igual a TRUE, padroniza as variáveis a partir da matriz de correlação dos dados. É importante quando as variáveis não se encontram na mesma unidade de escala. Veja 'details' para mais detalhes. se refere a forma como os objetos e variáveis serão mostrados juntos no biplot da PCA. Se igual a 1, biplot de distância, as distâncias entre os objetos scaling.biplot são aproximações das suas distâncias euclidianas no espaço multidimensional e os ângulos entre os vetores não têm sentido analítico; Se igual a 2, biplot de correlação, as distâncias entre os objetos não são aproximações das suas distâncias euclidianas no espaço multidimensional e os ângulos entre os vetores refletem suas correlações. Para mais detalhes, veja o argumento "scaling" em ?summary.cca (pacote vegan). choices. biplot define os eixos do biplot, ou seja, quais componentes principais (PCs) devem ser usados para construir o biplot. O default, c(1,2), significa que o biplot será construído com o primeiro PC no eixo x e o segundo PC no eixo y. Mantel se igual a TRUE, além da PCA é realizado um Teste de Mantel entre as matrizes de correlação dos dados definidos pelo usuário em x.cor e y.cor. nsim número de simulações que será utilizado na construção do modelo nulo para o teste de significância da Estatística r de Mantel. x.cor, y.cor fatores dos agrupamentos definidos pelo usuário cujas matrizes de correlação serão comparadas pelo Teste de Mantel. Devem se referir a subconjuntos dos dados originais. Veja 'details' para mais detalhes. x.ncol, y.ncol números das colunas dos fatores definidos em x.cor e y.cor. Details: A Análise de Componentes Principais é realizada utilizando-se a função rda do pacote vegan, por isso para executar a função varimorph é preciso ter esse pacote instalado. Os dados de entrada da função devem ser do tipo data frame, e a primeira linha deve conter os nomes das colunas. Esses nomes serão utilizados para identificar os resultados das análises e os biplots de cada agrupamento. Os agrupamentos definidos pelo usuário devem estar identificados nas primeiras colunas do data frame. Cada coluna deve ser um agrupamento, e os fatores da coluna devem se referir aos níveis dos agrupamentos. Quando os agrupamentos são níveis taxonômicos (ou qualquer outro tipo de agrupamento que represente níveis hierárquicos), as primeiras colunas do data frame que identificam os agrupamentos devem conter, nesse ordem, os agrupamentos menos inclusivos até os mais inclusivos (de espécie até família, ou de subespécie até gênero, etc). Nesse caso, o argumento inclusive deve ser igual a TRUE. Quando os agrupamentos não representam níveis hierárquicos (por exemplo, agrupamento por local de ocorrência e agrupamento por período de ocorrência), eles podem estar dispostos em qualquer ordem, desde que nas primeiras colunas do data frame. Nesse caso, o argumento inclusive deve ser igual a FALSE. Veja o arquivo "Exemplo.csv" para um modelo do data frame. Quando inclusive=TRUE, a Análise de Componentes Principais é realizada considerando-se cada fator do agrupamento, a partir da segunda coluna de agrupamentos. Assim, se os agrupamentos foram definidos como espécies, gêneros e famílias, as análises são feitas considerando os dados referentes às espécies do gênero 1, às espécies do gênero 2, e assim por diante; os gêneros da família 1, os gêneros da família 2, e assim por diante; e por final, as diferentes famílias. Quando inclusive= FALSE, uma Análise de Componentes Principais é realizada com todos os dados, e um biplot é construído para cada agrupamento. Assim, para que a função funcione corretamente, é preciso que o número de agrupamentos informado (ngroup) seja exatamente igual ao do data frame. Para realizar a função com menos agrupamentos que aqueles definidos no data frame, o usuário deve elaborar uma nova planilha de dados, retirando os agrupamentos indesejados, e criar um novo data frame para esses dados. Os argumentos referentes à Análise de Componentes Principais são os mesmos da função rda do pacote vegan, e mais detalhes sobre esses argumentos podem ser consultados em ?rda e ?summary.cca (como 'scale', 'scaling' e 'choices'). Jolliffe (2002, pág. 42) discute sobre o uso de matrizes de correlação ou covariância para a obtenção dos componentes principais. Em geral, quando a matriz de covariância é usada com variáveis que se encontram em escalas diferentes (principalmente quando suas variâncias são muitos diferentes), os primeiros componentes representam basicamente as diferenças relativas nas variâncias, contendo pouca informação sobre a variação dos dados. Nesses casos, a matriz de correlação é mais indicada (scale.pca=TRUE). O arquivo "Exemplo.csv" contém um exemplo de dados em que duas variáveis (V1 e V12) apresentam variâncias muito maiores que as demais variáveis. Veja o que acontece com seus respectivos autovalores e autovetores quando scale.pca=FALSE (em 'Examples'). O tamanho dos vetores do biplot também é influenciado por essas duas variáveis. Em relação ao argumento scaling.pca, veja Legendre & Legendre (1998, pág. 403) e Borcard et al. (2011, pág.120) para mais detalhes sobre as diferenças na forma como os biplots são contruídos quando scaling.pca=1 ou 2. Na função varimorph, o Teste de Mantel é utilizado para verificar se os padrões de correlação das variáveis muda entre os diferentes fatores dos agrupamentos. Para isso, o usuário deve definir pelos argumentos x.cor e y.cor quais fatores se deseja comparar. Para que o Teste de Mantel seja válido, as variáveis utilizadas para construir a matriz X e a matriz Y devem ser geradas a partir de diferentes conjuntos de dados (veja Legendre & Legendre 1998 para mais detalhes). Por esse motivo, x.cor e y.cor devem se referir a fatores dos agrupamentos, que determinam diferentes subconjuntos dos dados originais. Assim, para cada subconjunto dos dados é construída uma matriz de correlação, e essas matrizes são comparadas por meio do Teste de Mantel. O teste de significância é construído a partir de um modelo nulo, por meio de permutações dos dados originais. Value: A função varimorph retorna os seguintes resultados: Resultados da PCA objeto da classe rda, contendo os autovalores, autovetores (species scores), e componentes principais (site scores). Para mais detalhes veja ?cca.object, do pacote vegan. Biplots gráficos do tipo biplot no formato tiff (15cm de altura, 15cm de diâmetro e resolução de 100 ppi). Os gráficos gerados pelas análises são salvos diretamente no diretório de trabalho do usuário. Resultados do Teste de Mantel quando Mantel=TRUE, além dos resultados da PCA, a função retorna o valor da Estatística r de Mantel e o valor de p, obtido pelo teste de significância. Author(s): Amanda Ferreira e Cunha. References: Legendre, P. & Legendre, L. 1998. Numerical Ecology. Second English Edition, Elsevier Science B.V., Amsterdam, 853p. Jolliffe, I.T. 2002. Principal Components Analysis. Second Edition, Springer Series in Statistics, 457p. Borcard, D.; Gillet, F. & Legendre, P. 2011. Numerical Ecology with R. Springer, 306p. See Also: ?rda, ?summary.cca, ?object.cca e ?plot.cca, do pacote vegan. Examples: #Para ler o arquivo de dados "Exemplo.csv" dados<-read.table("Exemplo.csv", header=TRUE, sep=";") #Carrega a função varimorph source("varimorph.R") #Executa a PCA considerando os agrupamentos como níveis hierárquicos varimorph(dados, ngroup=3, inclusive=TRUE) #Executa a PCA (com outra forma de construção dos biplots) e o Teste de Mantel com os dados dos fatores "C.agas" e "C. tincta", da coluna 2 (Espécies) varimorph(dados, ngroup=3, inclusive=TRUE, scaling.biplot=1, Mantel=TRUE, x.cor="C.agas", y.cor="C.tincta", x.ncol=2, y.ncol=2) #Executa a PCA considerando os agrupamentos como não inclusivos e plota os biplots com o segundo e terceiro componentes principais varimorph(dados, ngroup=3, choices.biplot=c(2,3)) #Executa a PCA considerando os agrupamentos como não inclusivos, plota os biplots com o primeiro e segundo componentes principais (default), e executa o Teste #de Mantel com os dados dos fatores "Campanularia" e "Orthopyxis", da coluna 3 (Gêneros) varimorph(dados, ngroup=3, Mantel=TRUE, x.cor="Campanularia", y.cor="Orthopyxis", x.ncol=3, y.ncol=3) #Não executa, ngroup deve ser igual ao número de agrupamentos dos dados (3, nesse caso, populações, espécies e gêneros) varimorph(dados, ngroup=1) #Para executar a função com menos agrupamentos, o data frame deve ser alterado #Executa a PCA com os dados não padronizados (não recomendado para esses dados, já que as variáveis apresentam variâncias muito discrepantes) varimorph(dados, ngroup=3, scale.pca=FALSE)