Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2015:alunos:trabalho_final:lcami.cabanzo10:start

LAURA CAMILA CABANZO OLARTE

yo.jpg

ESTUDANTE DE MESTRADO EM FISIOLOGIA GERAL/INSTITUTO DE BIOCIENCIAS

Meus Exercícios

Propostas de Trabalho Final

A

Usar o algoritmo de anova para fazer um analises de anova de medidas repetidas o retorno deve ter a media, o desvio padrão, um sumario do R square, além o retorno inclui um gráfico que faz o plot das medidas feitas. A função deve ser feita a partir de uma tabela com tipos de tratamentos, por exemplo, um controle e um tratamento diferente (x) em três temperaturas diferentes (17°C, 25°C, 34°C), as medidas feitas para cada uma das temperaturas com os dois grupos.

B

Criar uma função que faça uma análise de cuidado parental (permanente) a partir de observações dos adultos em desovas em anfíbios, o retorno é uma tabela com a identificação de cuidado parental a partir da media de frequência da presença do adulto e a mínima distancia do adulto até os ovos em cada uma das desovas observadas. Os dados devem ser uma tabela com cada uma das desovas observadas, a distancia dos adultos até os ovos e o numero de vezes de presença do adulto. Por exemplo:

Desova|Presenca de adulto|Distancia

PROPOSTAS AJUSTADAS

A

Uma funçao que faça um analises de anova de medidas repetidas e o objeto de entrada é um data frame, as colunas são os tratamentos registrados durante diferentes tempos (objetos quantitativos). O retorno deve ter um sumario dos valores da Anova e além o retorno inclui um gráfico que faz o boxplot das medidas feitas.

B

A partir de observações dos adultos em desovas em anfíbios feitas por Vockenhuver et al. (2008, 2009) e Cabanzo-Olarte (2013), criar um algoritmo que faça o reconhecimento do cuidado parental (oseja a presença do parental o maior tempo possível perto da desova). A entrada deve ser um data frame com colunas (objetos quantitativos) da presença de adulto e a distancia do adulto até a desova. O retorno é uma tabela com a identificação de cuidado parental a partir da media de frequência da presença do adulto e a media da distancia do adulto até os ovos em cada uma das desovas observadas. As presenças mais frequentes e perto das desovas serão realçadas em cor vermelho.

Comentários

Comentários Laura, precisamos de mais detalhes para avaliar as suas propostas. P.ex.: a proposta A é construir uma função que faz a Anova de medidas repetidas ou vai apenas usar uma função que faça a anova dentro da sua? Na segunda não fica claro qual ou como é a é a “análise de cuidado parental”!

Veja algumas dicas de como estruturar a proposta que incluímos no wiki:

http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:01_curso_atual:alunos:trabalho_final:start#a_proposta
Aguardamos suas correções! Avise-me quando terminar via email. — Alexandre Adalardo de Oliveira 2014/04/25 17:02

Mais Comentários

Laura,

Continuo sem entender se a Proposta A vai desenvolver a ANOVA ou vai usar apenas a função aov para faze-la. Caso seja o primeiro, ela está adequada, caso seja o segundo é muito simples e não faz sentido fazer uma função para isso.

O plano B continua específico e ao mesmo tempo vago! Por mais que isso parece inconsistente, é específico para um tipo de dado apenas (quanto mais geral melhor), mas vago quanto ao que será realizado:

“ um modelo com um algoritmo que faça o reconhecimento do cuidado parental (oseja a presença do parental o maior tempo possível perto da desova), a partir de observações dos adultos em desovas em anfíbios (Vockenhuver et al., 2008, 2009; Cabanzo-Olarte, 2013) ”

Deve descrever o modelo e o algoritmo citado. As referências não ajudam.

Alexandre Adalardo de Oliveira 2014/04/28 12:28

Obrigada Profe Ale, A proposta B pode ser uma funcao muito específica e um pocuo complexa. Eu vou desenvolver a proposta A.

Trabalho Final

Proposta A: Desenvolvendo uma Anova de Medidas repetidas

Uma funçao que faça um analises de anova de medidas repetidas e o objeto de entrada é um data frame, as colunas são os tratamentos registrados durante diferentes tempos (objetos quantitativos). O retorno deve ter um sumario dos valores da Anova e além o retorno inclui um gráfico que faz o boxplot das medidas feitas.

Página de Ajuda

Anova.Rep               package:nenhum                R Documentation

Faz Anova de Medidas Repetidas e grafica a Anova

Description:

Funcao que desenvolve uma anova de medidas repetidas a partir de um data frame. Para calcular a anova os dados devem cumplir com o suposto de normalidade. 
pos (pretest(5horas antes), postLPS1(0 horas), postLPS2(5 horas), postLPS3(10 horas))

Usage:

     AnovaRep (x)

Arguments:

	data.frame: entrada dos seguintes dados
	
	Individuos: nome do individuos testado (1,2,3...)
	
	Pretest: temperaturas corporais 5 horas antes do uso de LPS (Lipopolissacaridos injetados)
	
	PostLPS1: temperaturas corporais quando foi injetado o LPS 

	PostLPS2: temperaturas corporais 5 horas depois do uso de LPS (injetado)
	
	PostLPS3: temperaturas corporais 10 horas antes do uso de LPS (injetado)	


Details:

	A partir dos dados sao feitos os calculos para fazer a suma de cuadrados e assim
	saber qual é a variacao dentro dos tratamentos e entre entratamentos.

Value:

	Dois gráfico sao gerados: graficos da exploratoria de dados e o gráfico da Anova. 
	Um data frame com o resumo da Anova é retonado com os seguintes valores:
	
	gl: graus de liberdade de cada um dos grupos (graus totales, dentro do tratamento, entre os tratamento e dos ressiduos)
	SS: suma dos quadrados dos grupos (totales, dentro do tratamento, entre os tratamento e dos ressiduos)
	MS: razao entre a suma dos quadrados e os dados de liberdade por grupo (dentro do tratamento, entre os tratamento e dos ressiduos)
	F.ratio: o valor da signicancia da Anova (razao da razao da suma dos quadrados dentro do tratamento e do ressiduo)

Warning:

     	É importante ter todos os dados completos para conhecer a verdadeira variacao,
	se nao os resultados apresentariam vies e nao podería ter uma explicacao confiable.

Author(s):

     	Laura Camila Cabanzo Olarte

	lcami.cabanzo10@ib.usp.br

References:

     	Deen, C.M., Hutchison, V.H. 2001. Effects of lipopolysaccharide and acclimation temperature on induced behavioral fever in juvenile Iguana iguana. Journal of Thermal Biology 26: 55-63.
	
	Bicego-Nahas, K.C., Steiner, A.A., Carnio, E.C., Antunes-Rodrigues, J., Branco, L.G.S., 2000. Antipyretic effect of arginine vasotocin in toads. Am. J. Physiol. 278, R1408–R1414.
	
	Bícego-Nahas, K. C., Gargaglioni, L. H., e Branco, L. G. S. 2001. Seasonal changes in the preferred body temperature, cardiovascular, and respiratory responses to hypoxia in the toad, Bufo paracnemis. Journal of Experimental Zoology, 289(6), 359-365.


See Also:

     'data.frame', a ajuda para conhecer as caracteristicas do data frame.

Examples:

     AnovaRep(exemplo)

exemplo.csv

Código da Função

Entradad de dados##
anova.rep <- read.table("tratamentosdados.csv", header=T, sep=",", as.is=F) #Entrada de dados com o formato dataframe
anova.rep #Observar que os dados sejam lidos corretamente

##Fazendo funcao de Anova de Medidas Repetidas##
AnovaRep <- function(x)
	{
	if (class(x)!="data.frame") stop("\t", "Erro: O objeto x nao é de classe tipo data.frame!\n") #Aviso sobre a natureza dos dados
	#Exploratoria de dados
	if (any(is.na(x)==TRUE)) stop("\t", "Erro: os dados nao podem ter dados faltantes, ou a Anova vai ter vies!\n") #Aviso sobre dados faltantes ou ausentes
	str(anova.rep) #Observar que a estrutura do novo objeto com o data frame seja o proposto 
	x11() #Abrendo janela
	par(mfrow=c(2,2)) #abrendo uma janela com duas filas e duas colunas
	qqnorm(anova.rep$Pre.test, main="Q-Q da Temperatura") #Avaliando a normalidade do Pre-test para o calculo da anova#
	qqline(anova.rep$Pre.test, col="red", lwd="2") #A linha para observar quanto dos dados estao ajustados#
	qqnorm(anova.rep$PostLPS1, main="Q-Q da Temperatura") #Avaliando a normalidade do PostLPS1 para o calculo da anova#
	qqline(anova.rep$PostLPS1, col="red", lwd="2") #A linha para observar quanto dos dados estao ajustados#
	qqnorm(anova.rep$PostLPS2, main="Q-Q da Temperatura") #Avaliando a normalidade do PostLPS2 para o calculo da anova#
	qqline(anova.rep$PostLPS2, col="red", lwd="2") #A linha para observar quanto dos dados estao ajustados#
	qqnorm(anova.rep$PostLPS3, main="Q-Q da Temperatura") #Avaliando a normalidade do PostLPS3 para o calculo da anova#
	qqline(anova.rep$PostLPS3, col="red", lwd="2") #A linha para observar quanto dos dados estao ajustados#

	#Grafico
	x11()#abrendo uma janela nova para o grafico com 1 fila e 1 coluna
	boxplot(anova.rep[,2:5], main="Efeito do Tratamento/Tempo", ylab= "Individuo Temperatura", xlab="Tratamentos") #fazendo o grafico da anova com cada uns dos tratamentos
	
	cat("Lembre-se fazer uma transformarcao previa aos dados se não apresentam normalidade!\n") #Se os dados nao cumplem com os presupostos de Normalidade#
	
	#calculando o tamanho da amostra total
	Ti <- apply(anova.rep[,2:5], 1, sum) #sumando os dados pelos individuos
	Ti2K <- ((anova.rep$Ti^2)/4) #
	N <- 40 #numero de medidas feitas para a otra dos dados
	n <- 10 #numero de medidas feitas em cada um dos tratamentos
	Tk.tempertrat <- apply(anova.rep[,2:5], 2, sum) #suma dos dados por cada tratamento
	mean.tempertrat <- apply(anova.rep[,2:5], 2, mean) #media dos dados por cada tratamento
	TK2n <- (Tk.tempertrat)^2/10 #duplicacao dos dados sumados por cada tratamento e divididos no número de observacoes feitas por tratamento
	SumTK2n <- sum(TK2n) #sumatoria da operacao no objeto anterior 
	T2N <- (sum(Tk.tempertrat)^2)/40 #sumatoria dos dados sumados e duplicados por tratamento  e dividido no número de observacoes totales feitas
	sumtrat2.pre.test <- sum(anova.rep$Pre.test^2) #suma dos dados quadrados do primer tratamento
	sumtrat2.postLPS1 <- sum(anova.rep$PostLPS1^2) #suma dos dados duplicados do segundo tratamento
	sumtrat2.postLPS2 <- sum(anova.rep$PostLPS2^2) #suma dos dados duplicados do terceiro tratamento
	sumtrat2.postLPS3 <- sum(anova.rep$PostLPS3^2) #suma dos dados duplicados do quarto tratamento
	Sum.trat2 <- sum(sumtrat2.pre.test,sumtrat2.postLPS1,sumtrat2.postLPS2,sumtrat2.postLPS3) #suma de todos os dados
	Sum.Ti2K <- sum(Ti2K) #sumatoria dos dados duplicados e dividos no quatro repeticoes feitas
	#Suma dos quadrados
	ss.total <- Sum.trat2 - T2N #diferenca entre suma de todos os dados e desvio padrao de todos os dados 
	ss.entre <- Sum.Ti2K - T2N #diferenca da dados por individuos e dados totais
	ss.intra <- SumTK2n - T2N #diferenca dos dados por tratamento e os dados totais
	ss.ressidual <- ss.total - ss.entre - ss.intra #diferenca dos dados totais, intra e entre grupos 
	#calculando os graus de liberdade da Suma dos quadrados
	gl.total <- 40-1 #numero de observacoes feitas menos 1
	gl.entre <- 10-1 #numero de observacoes feitas por tratamento menos 1
	gl.intra <- 4-1 #numero de repeticoes feitas menos 1
	gl.ressidual <- (40-1)*(10-1) #multiplicacao dos graus de liberdade total e graus de liberdade entre grupos
	#Fazendo a tabla de Resumo da Anova
	Fonte.Varianca <- c("entre-grupos", "intra-grupos", "grupo-ressidual", "Total") #fazendo o "head" da tabela resumo"
	gl <- c(gl.entre, gl.intra, gl.ressidual, gl.total) #fila dos graus de liberdades para cada grupo
	SS <- c(ss.entre, ss.intra, ss.ressidual, ss.total) #fila dos SS de cada grupo
	MS <- c((ss.entre/gl.entre),(ss.intra/gl.intra), (ss.ressidual/gl.ressidual), "NA") #fila dos cocientes das sumas dos quadrados de cada grupo(varianca)
	F.ratio <- c(((ss.intra/gl.intra)/(ss.ressidual/gl.ressidual)), "NA", "NA", "NA") #calculando o F-ratio a partir da suma dos quadrados intra e ressidual
	Anovarep.resulta <- data.frame(Fonte.Varianca, gl, SS, MS, F.ratio) #fazendo o objeto da tabla de resumo da anova de medidas repetidas
	return(Anovarep.resulta) #retornando a tabla resumo
	} 

Arquivo de Função

anovarep.txt

05_curso_antigo/r2015/alunos/trabalho_final/lcami.cabanzo10/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)