Primeiramente, limpe sua área de trabalho e gráficos.
rm(list=ls())
graphics.off()
Precisaremos dos pacotes “picante” e “phytools”. Caso ainda não o tenha feito, instale os pacotes com o comando a seguir, lembrando de retirar o “#”:
#install.packages("phytools")
#install.packages("picante")
library(phytools)
library(picante)
Especificar um diretório (pasta) de trabalho no seu computador utilizando o comando setwd:
setwd("endereço da pasta em que estão seus arquivos usando barras / e não contrabarras ")
Observe os arquivos na sua pasta com o comando dir.
dir()
Carregue seus dados. Lembre que eles devem estar no diretório especificado anteriormente!
arvore<-read.tree("anolis.tre")
arvore
caract <- read.csv("caracteristicas.csv", row.names = 1)
caract
Para manter somente as mesmas espécies e deixá-las na mesma ordem na arvore filogenética e na tabela de características use a função “match.phylo.data” do pacote “picante”.
resu_org <- match.phylo.data(arvore, caract)
Dê um novo nome para a árvore filogenética e para a tabela de características organizadas.
arvore_org <- resu_org$phy
caract_org <- resu_org$data
Vamos observar a árvore filogenética.
plot(arvore_org)
Veja os nomes das características na tabela:
colnames(caract_org)
caract_org$comprimento
Para podermos “chamar” as características diretamente pelos seus nomes, vamos fazer um “attach” da tabela.
attach(caract_org)
Agora podemos obter os valores de comprimento, por exemplo, apenas escrevendo “comprimento”:
comprimento
Será que existe sinal filogenético no comprimento de lagartos Anolis?
Reatribua os nomes das espécies aos valores de comprimento:
names(comprimento) <- rownames(caract_org)
Vamos testar o sinal filogenético no comprimento de lagartos Anolis utilizando a estatística lambda de Pagel.
lambda_resu <- phylosig(arvore_org, comprimento, "lambda", test = T)
Para ver o resultado, rode:
lambda_resu
Vamos visualizar o padrão de sinal filogenético com um fenograma:
phenogram(arvore_org, comprimento)
E como seria com uma variável aleatória (isto, é, sem um padrão de evolução como o por Movimento Browniano)?
É só criar uma variável aleatória com a função rnorm e depois rodar o lambda com ela.
aleat <- rnorm(30)
names(aleat) <- rownames(caract_org)
lambda_aleat <- phylosig(arvore_org, aleat, "lambda", test = T)
lambda_aleat
Vamos observar o fenograma gerado com a variável aleatória:
phenogram(arvore_org, aleat)
*Dica: Se você sentiu dificuldade de acompanhar o conteúdo desta aula e quiser ler um texto em português sobre o assunto, leia a introdução geral da tese de Vanderlei Debastiani (2016), disponível em: https://lume.ufrgs.br/handle/10183/143857