Tabela de conteúdos

Roseli Lika Miashike

eu.jpg

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ícios

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

Trabalho Final

Proposta A

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.

Proposta B

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

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

Proposta A ajustada

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 - Proposta A

##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)
	}
	}
	}

Help - Função - Proposta A

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