Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Mestranda em Ecologia, Instituto de Biociências, USP.
Projeto: Invasão por Pinus spp. em fisionomias de cerrado aberto, no estado de São Paulo
Exercício1 roseli_exerc1.r roseli1_5.r roseli1_6.r
Exercício2 roseli2_1.r roseli2_2.r roseli2_3.r roseli2_4.r roseli2_5.r roseli2_6.r
Exercício3 roseli3_1.r roseli3_2_1.r roseli3_2_2.r roseli3_3.r roseli3_4.r roseli3_5.r roseli3_6.r
Exercício4 roseli4_1.r roseli4_2.r roseli4_3.r roseli4_4.r roseli4_5.r roseli4.r
Exercício5 roseli5_1.r roseli5_2.r roseli5_3.r
Exercício6 roseli6_1.r roseli6_2.r roseli6_3.r
Exercício7 roseli7_1.r roseli7_2.r roseli7_3.r roseli7_4.r roseli7_5.r roseli7b.r
Exercício8
roseli8_1.r
roseli8_2.r
roseli8_3.r
No meu projeto, faço avaliações do potencial invasor de três espécies do gênero Pinus e uma dessas análises consiste na pressão de propágulo. Possuo coletores de sementes, de área conhecida, instalados dentro de talhões e, a partir destes, pretendo estimar a quantidade mensal e total de sementes coletada por hectare e comparar a produção de sementes entre as espécies através da análise de variância para verificação da hipótese de que a mais invasora (P. elliottii, a única espécie já registrada como invasora no estado de São Paulo, dentre as espécies que trabalho) produz significativamente mais sementes.
Assim, minha função irá ler um dataframe ou uma matriz, com dados de número de sementes coletado por espécie e os meses correspondentes de coleta. Um dos argumentos será a área de cobertura do coletor ou a área de abrangência que corresponde aos dados. A função converterá para hectare o valor mensal de sementes coletadas por espécie, depois irá somar os valores por espécie e realizar um cálculo de anova, retornando na tela os valores mensais de coletas de sementes por espécie e os dados da anova.
Outra parte do meu projeto é a avaliação da suscetibilidade de fisionomias campestres de cerrado à invasão por espécies de Pinus, onde, através da semeadura em campo, avalio algumas variáveis ambientais que podem contribuir com a invasão biológica. Somado a isso, gostaria de analisar um banco de dados com dados climatológicos da minha área de estudo de vários anos para verificar anos chuvosos, com presença de geada ou com ventos muito fortes que podem contribuir para a dispersão e estabelecimento das sementes anemocóricas de Pinus. Essa análise ajudará a entender a invasão, visto que esse evento parece não ocorrer todo ano.
Nesse caso, a função irá gerar gráficos dos dados climatológicos e apontar outiliers dos anos atípicos ou mostrar dados extremos, por exemplo, anos com valores muito altos de velocidade do vento.
Comentários Acho que a primeira proposta é adequada. Tente torná-la o mais geral possível. Por exemplo: ao invés de APENAS sementes os dados de entrada podem ser qualquer tipo de contagem por espécies em diferentes datas em unidades amostrais; o argumento de “tamanho amostral” ou “unidade de medida” serve para qq contagem associada a espécies por unidade de área ou de indivíduos. Defina tb. de forma mais geral o teste de hipótese que será feito, algo como “será avaliado se há diferença entre as densidades das espécies”.
Veja algumas dicas para definir a proposta que colocamos no wiki:
http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:01_curso_atual:alunos:trabalho_final:start#a_proposta
— Alexandre Adalardo de Oliveira 2014/04/25 17:02
A função irá tratar dados de contagens de amostras coletadas através de determinadas unidades amostrais (por exemplo: coletores de sementes), estimando a quantidade média em hectare e avaliando a diferença entre as densidades de acordo com os fatores de comparação. Os argumentos da função serão: entrada de qualquer dado coletado, associado a determinados fatores, entrada do valor da área cuja unidade amostral corresponde e entrada da unidade de medida da unidade amostral utilizada. Haverá exclusão/omissão de NA nos cálculos. A função converterá para hectare a quantidade média do dado coletado, por fator analisado, e realizará uma análise de variância para verificar a diferença entre as densidades das espécies, por fator. Por fim, a função vai retornar uma lista com gráfico com a quantidade média do dado coletado por hectare em relação aos fatores analisados e o resultado da anova.
##Função para analise de amostras coletadas através de unidades coletoras com área conhecida ##Cálculo da estimativa média em hectare ##Visualização de tabela e gráficos para dois fatores de comparação ##Cálculo de ANOVA para verificação de diferenca entre densidades para.coletores=function(dado.colet,fator1,fator2,area.coletor,unidade.medida="m2") { if(!is.null(list(dado.colet,area.coletor,fator1,fator2)))#a funcao só continua se os argumentos "dado.colet","area.coletor","fator1" e "fator2" estiverem preenchidos { if(length(dado.colet)!=length(fator1)|length(dado.colet)!=length(fator2)|length(fator1)!=length(fator2))stop("\t Os argumentos não possuem o mesmo comprimento.Verifique os dados!")#condicao de igualdade no comprimento para os 3 primeiros argumentos a fim de que a funcao continue else { ##A funcao comeca estimando as amostras em hectare if(unidade.medida=="m2")# condição para o caso de a área do coletor ser em metro quadrado { dado.em.hectare<-(dado.colet*10000)/area.coletor #cálculo para estimar amostragem de m2 para ha } else { if(unidade.medida=="cm2")# condição para o caso de a área do coletor ser em centímetro quadrado { dado.em.hectare<-(dado.colet*100000000)/area.coletor #cálculo para estimar amostragem de cm2 para ha } else # para o caso de ser digitado algo que não seja "m2" ou "cm2" { stop ("Você deve colocar a unidade de medida da área do coletor em metro quadrado 'm2' ou em centímetro quadrado 'cm2'") } } ##Calculo da media media.colet.sp<-tapply(dado.em.hectare,list(fator2,fator1),mean,na.rm=TRUE) ##Calculo da ANOVA em função de cada fator aov.colet<-aov(dado.em.hectare~fator1+fator2) ##Visualizacao de graficos de barras de duas formas diferentes X11 par(mfrow=c(2,1)) par(cex.lab=0.7,cex.axis=0.6,mar=c(3,3,3,3),tcl=0.5,mgp=c(2,0.2,0)) barplot(media.colet.sp,beside=TRUE,legend=rownames(media.colet.sp),ylab="Quantidade média em hectare",xlab="FATOR 1",las=1,args.legend=list(x="topright",cex=0.7,bty="n",title="FATOR 2")) #fator1 no eixo x media.colet.sp2<-t(media.colet.sp) barplot(media.colet.sp2,beside=TRUE,legend=rownames(media.colet.sp2),ylab="Quantidade média em hectare",xlab="FATOR 2",las=1,args.legend=list(x="topright",cex=0.7,bty="n",title="FATOR 1")) #fator2 no eixo y par(cex.lab=0.7,cex.axis=0.6,mar=c(3,3,3,3),tcl=0.5,mgp=c(2,0.2,0)) par(mfrow=c(1,1)) ##Saida cat("Tabela com os valores médios estimados por hectare\n") resultado<-media.colet.sp #mostra tabela com a distribuicao da media, em hectare, dos dados de acordo com os fatores de comparação attr(resultado,"anova")<-summary(aov.colet)#mostra o sumario da analise ANOVA return(resultado) } } }
para.coletores R Documentation PARA.COLETORES Função para análise de amostras coletadas através de unidades coletoras, com verificação de diferença na densidade, para dois fatores de comparação. Description: De acordo com a área do coletor utilizado, a função calcula a estimativa média da quantidade do dado coletado em hectare, depois distribui o dado em tabela, gera gráficos para a visualização dos dados e calcula a ANOVA para a verificação de diferença de densidade,conforme os fatores escolhidos para a análise. Usage: para.coletores(dado.colet,fator1,fator2,area.coletor,unidade.medida="m2") para.coletores(dado.colet,fator1,fator2,area.coletor) Arguments: dado.colet Objeto contendo os valores numéricos de dados coletados fator1 Objeto contendo um fator de comparação. Não precisa ser da classe "factor". fator2 Objeto contendo um fator de comparação. Não precisa ser da classe "factor". area.coletor Um valor numérico da área de abrangencia de cada coletor (unidade amostral). unidade.medida Unidade de medida utilizada. Há apenas as opções de "m2" e "cm2", metro e centímetro quadrado, respectivamente. Details: Esta função verifica a existência de diferenças na densidade dos dados coletados através do cálculo da ANOVA (veja "aov"), mas não realiza um teste a posteriori para mostrar em cada fator onde está localizada a diferença caso haja significância. Value: Os valores dos dados coletados são numéricos e não há, nesta função, o uso de arredondamentos. Não há restrição de uso de valores decimais. Os NAs são excluídos/omitidos nos cálculos. O argumento "unidade.medida" só calcula para unidades de medida em centímetro quadrado "cm2" e em metro quadrado "m2"(default). Warning: Os argumentos "dado.colet","fator1" e "fator2" devem ter o mesmo comprimento de dados. A área do coletor "area.coletor" não deve conter mais do que um valor. A função não aponta erro, mas, se contiver uma lista de números, o resultado estará errado. Nos gráficos gerados, pode ocorrer sobreposição da legenda com as barras. Author: Roseli Lika Miashike estudante de mestrado em Ecologia lika_rlm@ib.usp.br References: Material de apoio. Curso R 2014. Disponível em:<http://ecologia.ib.usp.br/bie5782/doku.php>. Acesso em:17 mai 2014. See Also: Recomenda-se olhar o help das funções utilizadas dentro da para.coletores: tapply, aov,barplot etc. Examples: #Exemplo1 - Número de sementes de diferentes espécies coletadas em diferentes períodos n.sementes<-c((rep(c(10,20,30),10)),(rep(c(400,500,600),10)),(rep(c(7,8,9),10)),(rep(c(10,11,12),9)),c(NA,NA,NA)) especie<-rep(c("P.kesiya","P.elliottii","P.oocarpa","P.caribaea"),each=30) data.coleta<-rep((rep(c("2/3/2014","2/4/2014","2/5/2014"),10)),4) para.coletores(n.sementes,especie,data.coleta,area.coletor=0.5,unidade.medida="m2") #Exemplo2 - Biomassa de serapilheira coletadas em diferentes locais em dois períodos diferentes a<-c(200,321,60,524,150,444,222,121,89,365,481,215,345,62,154,874,456,214,311,299) b<-sample(a) biomassa.g<-c(a,b) locais<-rep(c("A","B","C","D"),each=10) periodo<-rep(c("chuvoso","seco"),20) para.coletores(biomassa.g,locais,periodo,area.coletor=200,unidade.medida="cm2")
Função para.coletores():roseli_funcao.r
Help da função para.coletores:paracoletores_help.r