Í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
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 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.
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)
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