r-apostila biologia.pdf

49
Use R! www.biologia.ufrj.br/labs/labpoly www.r-project.org Introdução ao uso do programa R em análises de dados ecológicos Carlos Alberto de Moura Barboza Paulo Cesar de Paiva Endereço de contato: Universidade Federal do Rio de Janeiro (UFRJ), Instituto de Biologia (IB); Departamento de Zoologia; Av Prof Rodolpho Paulo Rocco s/n CCS, Bloco A, Ilha do Fundão, Rio de Janeiro, Brasil; Caixa Postal 68044, CEP: 21941-902 > este documento pode ser livremente utilizado, distribuído e reproduzido > correções, críticas e sugestões: > http://www.biologia.ufrj.br/labs/labpoly/ Rio de Janeiro, 2014

Upload: djalma-moraes

Post on 09-Nov-2015

44 views

Category:

Documents


0 download

TRANSCRIPT

  • Use R!

    www.biologia.ufrj.br/labs/labpoly www.r-project.org

    Introduo ao uso do programa R em anlises

    de dados ecolgicos

    Carlos Alberto de Moura Barboza

    Paulo Cesar de Paiva

    Endereo de contato: Universidade Federal do Rio de Janeiro (UFRJ), Instituto de Biologia (IB); Departamento de Zoologia; Av Prof Rodolpho Paulo Rocco s/n CCS, Bloco A, Ilha do Fundo, Rio de

    Janeiro, Brasil; Caixa Postal 68044, CEP: 21941-902

    > este documento pode ser livremente utilizado, distribudo e reproduzido

    > correes, crticas e sugestes:

    > http://www.biologia.ufrj.br/labs/labpoly/

    Rio de Janeiro, 2014

  • Use R!

    1.0. R

    O R um ambiente para execuo de anlises estatsticas e est gratuitamente disponvel na rede sob concesso GPL (General Public License), o que garante a todos os usurios o livre uso e distribuio, podendo ser instalado e executado em qualquer sistema operacional Windows XP (e verses posteriores),

    Unix, Linux e Macintosh OS X.

    A linguagem R , em grande parte, derivada da linguagem S, que na dcada de 80 foi amplamente difundida atravs do pacote comercial de estatstica denominado S-PLUS. Ross Ihaka e Robert Gentleman (R, a inicial de ambos os nomes), da Universidade de Auckland na Nova Zelndia, desenvolveram uma verso reduzida da linguagem S para utilizarem em suas aulas. Ihaka e Gentleman continuaram a trabalhar no cdigo ao longo da dcada de 90, o que coincidia com uma ampla difuso do sistema Linux. O R ento logo se transformou em uma opo de programao para usurios Linux e a primeira verso foi lanada em fevereiro

    de 2000 (R version 1.0.0).

    Para usurios que utilizam outras linguagens de programao o R rapidamente se tornar familiar. Entretanto, usurios dos tradicionais programas de estatstica, que utilizam uma plataforma amigvel de opes de cliques, sentiro um pouco mais de dificuldade. Esta uma etapa que na maioria das vezes inibe a adoo e utilizao do R, mesmo para execuo de anlises bsicas. Veremos que at mesmo estas so efetuadas de maneira muito mais fcil em ambiente R do que na grande maioria dos pacotes estatsticos. O entendimento da linguagem um esforo que certamente merece ser empregado, j que uma vez aprendido, ela proporcionar uma poderosa e variada gama de opes de anlises e sadas grficas. Atualmente existem uma enorme gama de pacotes para R (http://www.r-project.org) destinados a realizar quase que qualquer anlise estatstica e sadas grficas, prontas para serem incorporadas em um documento

    final para publicaes.

    1.1. Use R

    Existem inmeros motivos para se usar R em que podemos destacar: um programa livre, logo pode ser distribudo e imune a expiraes de licenas, que em casos de programas pagos podem ser carssimas; justamente por ser livre os problemas, as ideias e inovaes so amplamente discutidas na rede; como o R uma linguagem, o programa lhe garante uma flexibilidade quase que infinita para criar e definir suas prprias funes; atualmente a principal ferramenta para realizao de anlises estatsticas e est amplamente difundido em todas as universidades e centros cientficos do mundo; muito provavelmente, voc s

  • Use R!

    conseguir rodar alguns modelos atualmente utilizados em anlises ecolgicas em

    R; voc pode baixar, utilizar, distribuir e lecionar com o R em qualquer lugar!

    Este roteiro introduz as primeiras ideias a serem entendidas para o tratamento de dados ecolgicos, sadas grficas bsicas e realizao de testes estatsticos. Os cdigos foram compilados de diversas fontes inclusas na bibliografia deste documento, em alguns casos, desenvolvidos e/ou modificados pelos autores objetivando facilitar as rotinas regularmente utilizadas em anlises ecolgicas. O contedo deste documento pode ser livremente utilizado e distribudo, onde crticas e sugestes sero sempre muito bem vindas. Apesar de possuir algumas observaes relacionadas s anlises, o roteiro no objetiva explicar a lgebra empregada nas rotinas a serem realizadas. Na primeira parte ser apresentado o ambiente R, como se realizar consultas, a instalao de pacotes, como citar o programa e pacotes, operaes e funes matemticas, estatstica bsica, a criao de vetores, matrizes e manipulao destes. Posteriormente sero abordadas as principais sadas grficas disponveis para anlises descritivas. Em um terceiro momento abordaremos testes e anlises univariadas, baseadas em modelos lineares (ex. regresses e ANOVA). Por fim, sero apresentados os cdigos dos principais ndices de distncia, similaridade, tcnicas de agrupamento,

    ordenamento, e anlise espacial.

    2.0. O ambiente R

    Vamos abrir e comear a usar o programa. Como o ambiente se parece para voc? Algo familiar? Observe como funciona. Por exemplo, podemos executar as funes

    ou qualquer comando diretamente do console. Escreva o comando e aperte Enter.

    > 5+5

    > print("ol turma")

    > help(anova)

    > example(lm)

    comum criarmos um script, um bloco de notas de comandos onde estaro contidos todos os nossos cdigos. Podemos inserir comentrios ao longo de nossas anlises, modificarmos e repetir tantas vezes quiser. V para o comando Abrir script (smbolo de uma pasta se abrindo no cantor superior esquerdo do

    console) e selecione Novo script.

    Observe agora que estamos trabalhando com duas janelas, o console e o script de comandos. O script servir como uma estria de todas as anlises que desejamos. Assim podemos executar nossos comandos em uma determinada ordem. Vamos testar usar o script. Digite o mesmo comando anterior, arraste o cursor sobre o

  • Use R!

    mesmo ou, deixe-o localizado aps comando, e execute Ctrl+R (em Mac

    Command+Enter).

    2.1. Instalando e carregando um pacote

    O R possui uma configurao bsica (mesmo assim esta verso bsica executa praticamente todas as funes de pacotes estatsticos convencionais do mercado). Existem diversos pacotes que podem ser diretamente instalados da rede e utilizados para se executar qualquer tipo de anlise ou sada grfica. Vamos instalar dois pacotes que nos possibilitar a, praticamente, executar todas as principais anlises (univariados ou multivariados) comumente utilizadas. Clique em Pacotes e selecione Instalar pacote(s). Escolha um espelho CRAN e depois o pacote a ser instalado. Vamos l, instale os pacotes vegan e GAD e teste seu

    comando no script:

    library(vegan) # desta forma carregamos o pacote. O smbolo de jogo da velha em programao significa comentrios. O R interpretar como no sendo um comando e sim um comentrio que voc deseja inserir. Tente executar a funo de carregar o GAD junto com um comentrio

    install.packages("vegan") # uma outra maneira

    myPackages

  • Use R!

    ?aov

    Ou digite uma palavra chave e procure onde a funo pode ser encontrada e como

    pode ser executada.

    help.search("anova")

    2.2. Utilizando o R como calculadora e operando funes matemticas

    O R executa todas as operaes matemticas bsicas (inclusive lgebra matricial) e pode ser utilizado como uma calculadora. Vamos dar uma olhada nestas

    operaes:

    5+4 # somando

    5*5 # multiplicando

    10-2 # diminuindo

    55/11 # dividindo

    10^2 # exponencial

    5+4;5*5;10-2;55/11 # tudo na mesma linha de comando

    ((4+16)/4)^2

    (4^2)+(3^2)/25 ### preste sempre a ateno nos parnteses !!!

    (5+5)+(10*2)-90/3

    Qualquer funo precedida por parnteses. As funes so utilizadas com a

    seguinte sintaxe: funo(objeto,argumento).Observe:

    log(2) # log natural

    log10(2) # log na base 10

    log(x,base) # escolha a base que deseja trabalhar

    log(5,2)

    log2(5) # atalhos para bases 2 e 10

    log(2,10)#nmero, base

    log10(2)

  • Use R!

    abs(10-20) # para obtermos o valor em mdulo, valor absoluto. Confira a diferena retirando a funo

    factorial(5) # fatorial. Lembra-se da funo prod? Teste ela aqui.

    sqrt(4) # raiz

    sqrt((3*3)^2)

    prod (2,2) # produto

    prod(2,2,2,2,2) # confira se igual a 2^5

    prod(1,2,3,4) # confira

    2.3. Trabalhando com objetos

    Em uma linguagem de programao devemos acessar as variveis para o tratamento de dados. No R devemos criar objetos que representaro nossos dados, ou que sero utilizados para que operem, nos prprios dados. Estes objetos podem ser de natureza diversa como um vetor ou matriz, uma funo, uma expresso, um nome de uma varivel. Para criarmos um objeto utilizamos a simbologia

  • Use R!

    typeof(objeto4)

    Para criarmos vetores, utilizamos a letra c (concatenar) e os elementos vm entre parnteses e separados por vrgula. Quando utilizamos aspas, especificamos uma natureza categrica para os elementos. Perceba como o R interpreta a codificao para argumentos numricos ou categricos. Evite criar vetores compostos por elementos de natureza variada. Caso necessrio, certifique-se que estar utilizando o objeto e a funo de maneira correta.

    letras

  • Use R!

    d*2

    (d*2)+3

    A funo length determina o nmero de elementos de um vetor ou de subvetores (intervalos de valores). Os colchetes [ ] extraem uma determinada parte de um objeto. Utilizamos colchetes para designar um intervalo de elementos

    de um objeto. Devemos utilizar a sintaxe objeto[intervalo].

    length(d)

    d[6] # extraindo um determinado valor do vetor

    d[6]

    d[2:5] # extraindo uma sequncia de valores

    d[-c(2:5)] # o que acontecer aqui?

    length(d[d>=5]) # nmero de elementos do objeto d que so maiores ou iguais a 5

    y

  • Use R!

    names(x)

  • Use R!

    xmat

    # para adicionar linhas utilize rbind(x,y). Podemos criar matrizes rapidamente

    rbind(c(1,2,3),c(4,5,6)) # o mesmo vale para cbind

    Suponhamos que pudessem existir 10 mil nomes de linhas e colunas que correspondem aos mesmos nomes especificados em outra matriz. Como vamos preencher isso tudo na nova matriz? Ser que teremos que recorrer ao Excel para

    copiar e colar nomes? claro que no!

    y

  • Use R!

    Existe uma ampla variedade de formas de definir uma sequncia de nmeros, especificarmos um nmero de repetio desta sequncia, ou parte dela em

    qualquer combinao que desejarmos.

    1:10 # criando a sequncia de nmeros de 1 a 10

    sum(1:10) # somando estes valores

    seq(1,10)

    seq(1,10,2) # criando sequencias com intervalos definidos

    numeros

  • Use R!

    sample(x, size=y, replace = FALSE)# definindo o sorteio

    sample(1:10^5, size=10, replace = FALSE)

    dados

  • Use R!

    a

  • Use R!

    valor

  • Use R!

    plot(sample(1:10))

    A funo plot tambm utilizada quando queremos plotar uma varivel contra a outra (til para examinarmos a correlao entre duas variveis).

    plot(sample(1:10),sample(11:20))

    Podemos mudar o tipo de smbolo e a cor dos pontos. Para isso utilizamos os

    argumentos pch (tipo de pontos, 1:20) e col (cor dos pontos, 1:8). Tente construir grficos com diferentes combinaes de cor e smbolo.

    3.1. Grficos em barra

    Para construirmos grficos em barra utilizamos a funo barplot.

    barplot(sample(1:10))

    Vamos embelezar um pouco nosso grfico.

    barplot(sample(1:10), main="Ttulo do grfico", xlab="Eixo x",ylab="Eixo y",ylim=c(0,12),col=blue,las=1) # o argumento main define o ttulo do grfico, xlab o ttulo do eixo x, ylab o ttulo do eixo y, ylim o limite do eixo y, col a cor das barras e las coloca a escala escrita na vertical. Lembre que todos os argumentos que especificam um nome na rea do grfico devem vir entre aspas

    barplot(sample(1:10),horiz=T)

    3.2. Histogramas

    Histogramas.

    x

  • Use R!

    3.3. Grficos em pizza.

    pie(c(20,30,40,50))

    Vamos dar nomes e definir as cores dos elementos do nosso grfico.

    pizza

  • Use R!

    dados

  • Use R!

    names(dados) # observe o nome das variveis de seus dados

    O cifro $ utilizado para se referir a uma determinada varivel do conjunto de dados (utilize names para vereficar as variveis disponveis). No cdigo abaixo

    indica que estamos nos referindo a varivel tamanho do objeto dados, ou seja, do

    data frame dados. Sempre utilize $ para este tipo de objetivo. Agora confira as demais variveis

    dados$tamanho # inspecione cada varivel. # entenda o que significa $, so partes de seu objeto

    A funo attach utilizada para se especificar o universo de trabalho em uso. Deste modo, podemos nos referir as variveis sem utilizar $. Utilize esta funo e inspecione as variveis do data frame. Utilize detach para desanexar o data frame. Perceba o que acontece se no utilizarmos o $ para nos referirmos a uma varivel, antes de utilizarmos attach. Tome muito cuidado quando estiver manipulando vrios data frames! Para garantir uma menor possibilidade de erro

    recomendvel o uso de $ e no da funo attach.

    5.2. Exportando um data frame

    Podemos exportar um data frame de volta para um arquivo de extenso .txt

    utilizando a funo write.table.

    myval

  • Use R!

    Apesar destas facilidades recomendvel trabalhar com dados em extenso de

    texto (.txt).

    6.0. Estatstica descritiva: mdia, varincia, desvios e sadas grficas

    Vamos calcular a mdia de uma populao utilizando algumas funes apresentadas at agora.

    media.tamanho

  • Use R!

    ?arrows # primeiramente entenda a funo arrows

    grafico

  • Use R!

    Teste de Kolmogorov-Smirnov.

    ks.test((crabs[[6]][1:50]),"pnorm",mean(crabs[[6]][1:50]), sd(crabs[[6]][1:50]))

    Testando a homocedasticidade das varincias:

    var.test(crabs[[6]][1:50],crabs[[6]][51:100])#testando a homogeneidade entre varincias do tamanho da carapaa de machos e fmeas da espcie B

    7.2. Teste t entre duas amostras

    Quando as premissas de normalidade e homocedasticidade so atendidas,

    podemos utilizar o teste t para comparar a mdia de duas amostras independentes.

    t.test(crabs[[6]][1:50],crabs[[6]][51:100]) # note que o default o teste de Welch, que pressupe varincias heterogneas. Caso queira informar que as varincias so homogneas, utilize o argumento lgico var.equal=T.

    t.test(crabs[[6]][1:50],crabs[[6]][51:100], var.equal=T)

    Caso queiramos realizar um teste t para amostras dependentes, utilizamos o

    argumento lgico paired=T.

    t.test(amostra1, amostra2, paired=T)

    #teste a funo utilizando o data frame anorexia do pacote MASS

    Suponhamos que voc leu recentemente em um artigo que a mdia do comprimento da carapaa dos machos da espcie B era x. Podemos ento testar se

    a mdia correspondente a um grupo de animais do data frame crabs difere de x.

    t.test(crabs[[6]][1:50],mu=x)

    Para realizar um teste unicaudal, utilizamos as opes do argumento alternative = "less" ou "greater".

    t.test(crabs[[6]][1:50],crabs[[6]][51:100], alternative = "less")

    Antes de prosseguirmos vamos aprender a construir um belo grfico de barras

    utilizando os dois fatores (espcie e sexo) dos dados crabs.

    especie

  • Use R!

    sexo

  • Use R!

    6.0. Testes no paramtricos entre duas amostras

    6.1. Testes de Wilcoxon e Kruskal Wallis

    Se ainda assim a normalidade dos dados no for alcanada, o R executa uma gama de variedades de testes no paramtricos e, no caso de duas amostras, temos a opo de utilizar o teste de Wilcoxon (signed rank e rank sum) e o de Kruskal

    Wallis.

    wilcox.test(crabs[[6]][1:50],crabs[[6]][51:100]) # equivalente ao teste de Mann-Whitney

    kruskal.test(crabs[[6]][1:50],crabs[[6]][51:100])

    #estes testes so equivalentes a testes t de amostras independentes

    wilcox.test(objeto, mu=x) # teste para uma mdia pr determinada

    wilcox.test(objeto1, objeto2, paired=T) # equivalente a um teste t com amostras pareadas

    7.0. Correlao e regresso

    7.1. Correlao

    Vamos averiguar o grau de correlao entre duas variveis e posteriormente testar se esta relao significativa. Para tal, vamos aplicar a anlise de correlao de

    Pearson utilizando o arquivo exe.1.txt.

    cor(dados$n_mordidas,dados$tamanho)

    cor.test(dados$n_mordidas,dados$tamanho) # utilize o argumento method para especificar a correlao de "pearson" (default), "spearman" e "kendall"

    Para a correlao entre pares de uma data frame

    library(vegan)

    data(varechem)

    cor(varechem)

    varechem

  • Use R!

    pairs(varechem)

    7.2. Regresso linear

    A anlise de correlao deve ser interpretada como uma relao entre duas variveis e no como um modelo de predio. Para este segundo objetivo, devemos utilizar a anlise de regresso. Podemos definir a equao do modelo linear

    utilizando a funo lm. Entenda o ltimo cdigo desta sesso antes de realizar as anlises com seus dados reais.

    plot(dados$n_mordidas~dados$tamanho) # vamos observar graficamente

    modelo

  • Use R!

    summary(lm)

    esperado

  • Use R!

    library(GAD)

    especie

  • Use R!

    Vamos verificar graficamente se os fatores possuem interao,

    interaction.plot(crabs$sp,crabs$sex,crabs$FL)

    ou podemos utilizar

    interaction.plot(especie,sexo,crabs$FL)

    interaction.plot(crabs$sex,crabs$sp,crabs$FL)

    Vamos entender o teste ANOVA comparando os resultados dos modelos uni e bifatorial.

    modelo.sex

  • Use R!

    com dois ou mais fatores (podendo ser fixos ou aleatrios), define as razes F a serem calculadas. Vamos verificar isto na prtica. Utilizando o pacote GAD vamos codificar os fatores sexo e espcie como fixos, como aleatrios e um como fixo e

    outro como aleatrio (um modelo misto).

    Modelo de fatores aleatrios.

    especie.r

  • Use R!

    gad(modelo.nested) # preste ateno nos fatores da tabela e nas razes F

    9.0. Estatstica multivariada

    O conjunto de dados ecolgicos a ser utilizado em anlises multivariadas, tradicionalmente est organizado em matrizes. Este data frame possui n x p dimenses e est disposto de forma a acomodar os objetos nas linhas e seus descritores (variveis) em colunas. Deste modo, anlises de agrupamento e ordenao geram matrizes associativas quadradas e simtricas, ou seja, contendo todas as combinaes par a par, de similaridade ou distncia, estipuladas por um determinado ndice. O ndice que mede a distncia ou similaridade entre os objetos

    x-y igual ao valor entre y-x.

    9.1. Diversidade e riqueza

    O R calcula as principais medidas de diversidade utilizadas para matrizes de comunidade. Vamos carregar o vegan e acessar o data frame BCI.

    library(vegan)

    data(BCI)

    BCI

    ?BCI # entenda o data frame

    div.shan

  • Use R!

    shannon

  • Use R!

    plot(estimate$chao[,2],xlab="n amostras",ylab="n espcies",type="n")

    lines(estimate$chao[,2]) # usamos $ pois o objeto estimate uma lista. Confira utilizando summary

    lines(estimate$jack1[,2],col="red")

    9.2. Coeficientes de dissimilaridade e similaridade

    Existem incontveis ndices associativos mtricos, no mtricos, simtricos ou assimtricos, que podem ser utilizados para se definir uma matriz de associao (distncia ou similaridade) em modos Q (entre objetos) e R (entre espcies). Estes ndices, muitas vezes, possuem naturezas distintas e devem ser utilizados em situaes particulares. Por exemplo, existem determinados ndices ou coeficientes que so mais apropriados para uma matriz de dados biolgicos (ex. Bray-Curtis) e outros mais apropriados para variveis ambientais (ex. distncia Euclidiana). importante termos em mente as seguintes perguntas: 1) Estamos utilizando o modo Q ou R? 2) Estamos tratando de abundncia de espcies ou algum outro tipo de varivel? 3) Os dados so binrios, quantitativos ou de ambas as naturezas?

    No R todas as medidas de similaridade so automaticamente transformadas para distncia. Dependendo do pacote, a distncia computada como D=1-S ou D=raiz(1-S). importante estarmos certos de qual transformao foi utilizada

    devido natureza mtrica ou no mtrica de D calculado.

    A distncia Euclidiana default.

    data(varechem)# consulte o manual do vegan para as informaes deste data frame

    eucl

  • Use R!

    Preste ateno na funo para o clculo de similaridade (no dissimilaridade como

    no vegan) Bray-Curtis extrada de Landeiro (2011).

    bray

  • Use R!

    }

    return(matriz)

    }

    norm(dados) # confira com a funo do vegan se foi calculado corretamente

    A distncia de Hellinger a distncia euclidiana dos dados transformados por

    Hellinger.

    dados.hel

  • Use R!

    Single Linkage Aglomerative Cluster - Revela gradientes de maneira eficiente,

    contudo dificulta o reconhecimento de parties.

    BCI.norm

  • Use R!

    cor(dados.dist,BCI.cof.sing)

    Calcule a correlao para todos os mtodos utilizados, verifique seus valores e

    plote um dendrograma final.

    dendro

  • Use R!

    quiser. Exercite plotando smbolos diferentes para cada grupo.

    9.4. Mtodos de ordenao simples (unconstrained)

    A grande maioria dos mtodos de ordenao baseada em anlises de autovalores e autovetores (eigenanalysis). Uma das excees a anlise no mtrica multidimensional (nMDS). Mtodos de ordenao buscam descrever a distribuio dos objetos no espao multidimensional. Normalmente, este nmero de dimenses aproximadamente igual ao nmero de variveis presentes na matriz. Como a disposio dos grupos formada por nuvens de pontos, estas possuem uma maior variabilidade em direo a um determinado eixo, e esta variabilidade estimada pelo respectivo autovalor. A anlise ir extrair a variabilidade concentrada em outra direo, ortogonal a primeira, e a representar ao longo da componente principal seguinte. O primeiro autovalor expressa a maior variabilidade, o segundo autovalor expressa a variabilidade contida ao longo da segunda componente e assim por diante. A anlise prossegue at que toda a variabilidade contida nos dados seja expressa sob a forma de componentes ortogonais. Portanto o valor de

    cada autovetor expressa a posio de cada objeto no referida componente.

    Principal Components Analysis (PCA). Largamente utilizada para ordenao de dados ambientais. A PCA preserva a distncia euclidiana e por isso extremamente sensvel a matrizes contendo um grande nmero de zeros. Este o principal motivo pelo qual a anlise evitada para ordenar dados biolgicos. Entretanto, utilizando a transformao adequada (transformaes que preservem a distncia Euclidiana entre os pontos e que no influenciada pela presena de duplos zeros) a PCA uma anlise eficiente para dados biolgicos. recomendvel utilizar a matriz de covarincia quando estamos tratando de descritores de mesma ordem de magnitude e possuem mesmas unidades. Por outro lado, devemos utilizar a matriz de correlao quando estamos tratando de descritores de natureza distinta.

    pca

  • Use R!

    # exercite modificando os argumentos scaling e scale

    Podemos rodar a anlise utilizando a funo rda do pacote vegan.

    Vamos exercitar criando a funo para anlise de componentes principais. O

    cdigo foi retirado de Bocard et al., (2011); pag. 150.

    pca

  • Use R!

    }

    pca(dados)# teste a funo

    plot.pca

  • Use R!

    originais da matriz de associao. O mtodo largamente utilizado por eclogos, j que admite a utilizao de inmeros coeficientes no mtricos, como o de Bray-

    Curtis.

    dados

  • Use R!

    dados

  • Use R!

    rpido do que utilizar o programa Canoco. Os cdigos utilizados nesta seo

    seguem o protocolo apresentado por Borcard et. al., (2011).

    Redundancy Analysis (RDA). O termo redundncia sinnimo de variabilidade explicada. A anlise deve ser empregada quando queremos explicar a ordenao de uma matriz Y em funo de variveis explicativas X. uma extenso da regresso mltipla, e cada eixo cannico uma combinao linear da matriz explicativa, preservando-se a distncia Euclidiana entre os objetos no diagrama de ordenao. Justamente por este motivo, a RDA no foi primariamente to disseminada na Ecologia, quanto foi a CCA. Contudo, com a adoo de transformaes adequadas para matrizes biolgicas (ex. Distncia de Hellinger) a

    RDA um dos mais robustos e eficientes mtodos de ordenao cannica.

    varespec.hel

  • Use R!

    plot(rda,type="text",display=c("cn","wa")) # utilize display para especificar o que deve ser plotado: wa(weighted sum) para os objetos no plano das variveis resposta; lc(linear combination) para os objetos no plano das variveis explicatrias; cn(constrained) os vetores das variveis explicatrias; sp(species) para as espcies

    Para um controle da edio do que deve ser plotado.

    plot(rda, type="n")

    text(rda, dis="cn")

    text(rda, cex=1.2)

    text(rda, "species", col="blue", cex=0.8)

    # uma outra maneira mais liberal

    par(pty="s")

    plot(rda, type="n")

    text(rda, dis="cn")

    sp.sc

  • Use R!

    Vamos tornar a explicao do nosso modelo mais simples, no que resultar em uma exposio grfica mais limpa. Atravs de permutaes, testemos a

    significncia de cada varivel de maneira independente.

    step.forward

  • Use R!

    explicada podem estar superestimadas. O cdigo empregado para CCA

    extremamente parecido com o que utilizamos para RDA.

    cca

  • Use R!

    como a predao e competio). Uma dependncia espacial induzida significa que o fenmeno gerado por forantes ambientais que, por si s, esto espacialmente estruturados (como as variveis de um gradiente batimtrico, o gradiente de uma

    montanha ou um gradiente estuarino).

    10.1. Correlogramas

    O ndice de Moran (I) uma das principais e mais comuns medidas de correlao espacial e, de uma maneira geral, a lgebra empregada semelhante utilizada na correlao de Perason. Para se computar o ndice levamos em considerao uma matriz de coordenadas em que a distncia dos pontos convertida para uma classe

    d. Vamos utilizar o data frame gilgais do pacote MASS para computarmos ndice de Moran em classes de distncia de um transecto regular.

    library(MASS)

    library(spdep)

    data(gilgais)

    grid

  • Use R!

    cor.mantel

  • Use R!

    10.3. Gerando autovetores de matrizes de vizinhos: PCNM

    A variabilidade espacial pode ocorrer em diversas escalas e devemos ser capazes de gerar funes que descrevem esta variabilidade ao longo deste espectro espacial. Neste sentido, a gerao de componentes principais de matrizes de vizinhos (PCNM, caso particular de mapas de Moran), que podem ser incorporadas em anlises cannicas, so funes mais robustas comparadas a funes espaciais polinomiais, j que descrevem uma ampla variabilidade de escalas espaciais de maneira independente, ou seja, componentes ortogonais. De maneira resumida, o mtodo consiste em calcular a distncia Euclidiana de uma matriz de coordenadas e trunc-la pela distncia mnima entre pontos. Em segundo passo, computar uma PCoA da matriz truncada e posteriormente utilizar os autovetores referentes aos autovalores positivos em regresses mltiplas ou RDA. Como os autovalores exprimem de forma decrescente a variabilidade em distintas escalas, ou seja, o primeiro autovalor e seu respectivo autovetor exprimem a maior escala de variabilidade, o segundo a segunda maior escala e assim por diante. Primariamente

    vamos definir as PCNMs utilizando a funo pcnm do vegan e depois testar a autocorrelao.

    pcnm.matrix

  • Use R!

    biolgicas e das coordenadas espaciais (um modelo polinomial por exemplo), ou o prprio gradiente pode ser inserido na anlise como uma fonte de variabilidade

    sendo representado por uma terceira matriz.

    anova(rda(fauna.hel,grid)) # se a relao for significativa, trabalhe com o resduo; ou insira o gradiente como uma terceira matriz e trabalhe com os dados no regredidos

    fauna.det

  • Use R!

    Bibliografia Recomendada

    Borcard, D., Gillet, F., Legendre. 2011. Numerical Ecology with R, Use R. Springer, New York, USA. Crawley, M.J. 2007. The R Book. John Wiley & Sons Ltd., Chichester, England. Dalgard, P. Introductory Statistics with R. 2008. Springer, New York, USA. Landeiro, V.L. 2011. Introduo ao uso do programa R. Instituto Nacional de Pesquisas da Amaznia; Programa de Ps Graduao em Ecologia. Legendre, P., Legendre, L. 1998. Numerical Ecology. Elsevier Science, Amsterdan, Holland. R Development Core Team. 2007. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. http://www.R-project.org. Inmeros manuais disponveis. Underwood, A.J. 1997. Experiments in Ecology: their logical design and interpretation using analysis of variance. Cambridge University Press, Cambridge, England.