====== LAURA CAMILA CABANZO OLARTE ======
{{:bie5782:01_curso_atual:alunos:trabalho_final:lcami.cabanzo10:yo.jpg?200|}}
ESTUDANTE DE MESTRADO EM FISIOLOGIA GERAL/INSTITUTO DE BIOCIENCIAS
====== Meus Exercícios ======
[[.:exec]]
====== 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.
--- //[[aleadalardo@gmail.com|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.
--- //[[aleadalardo@gmail.com|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)
{{:bie5782:01_curso_atual:alunos:trabalho_final:lcami.cabanzo10: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**
{{:bie5782:01_curso_atual:alunos:trabalho_final:lcami.cabanzo10:anovarep.txt|}}