====== Carla Madelaire ======
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:pb030021.jpg?200|}}
Doutoranda em Fisiologia Geral, Instituto de Biociências, USP
[[http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4248326U0|Currículo lattes]]
===== Meus exercícios =====
[[.:exec|exercicio 1]]
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:exercicio.r|exercicio tutorial 4}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:exercicio1.r|exercicio tutorial 5}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:7-2.r|exercicio tutorial 7}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:7-2.r|exercicio tutorial 7b}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:analiseexplot.r|exercicio 9}}
===== Trabalho final =====
Proposta de trabalho final
Proposta 1
Na minha tese de doutorado, estudo padrões sazonais de características fisiológicas em anuros. Um dos dados que coleto referem-se a um protoloco experimental no qual injeto uma solução de fitohemaglutinina (proteína que desencadeia uma resposta inflamatória) na planta da pata de anuros. A resposta inflamatória é mensurada por meio de medidas de inchaço ao longo do tempo. Em outro grupo controle, faço a injeção de solução salina na planta da pata. Minha proposta é otimizar essa análise, elaborando uma função que me devolva a estatística descritiva e um gráfico dos dados dos dois grupos.
Proposta 1 - reelaborada
esta função tem o objetivo de auxiliar na representação e análise de variáveis que sejam obtidas ao longo do tempo, ao utilizar esta função o usuário obterá os seguintes itens:
-um gráfico com duas variáveis, uma variável numérica (y) em função de uma variável temporal (x);
a variável numérica terá representado média e desvio padrão, os pontos de cada valor X tempo serão conectados por uma linha que será desenhada no gráfico.
-a estatística descritiva do vetor de valores;
-análise de variância dos dados para informar se as medidas diferem ao longo do tempo;
Proposta 1 - re-reelaborada
Protocolos experimentais de farmacologia e fisiologia tem o objetivo de testar o efeito da administração de uma solução (droga inibidora ou estimuladora, hormônios, entre outros) na atividade de organismos, órgãos, células, receptores ou moléculas. Geralmente, neste tipo de teste são usados 2 grupos experimentais:
1)Controle - no qual é administrado apenas solução salina ou veículo
2)Teste - no qual é administrado a substância que se pretende avaliar o efeito.
Após a administração da solução salina/veículo e solução experimental nos respectivos grupos, é feito um acompanhamento, ao longo do tempo, da atividade que acredita-se estar sendo influenciada pela substância experimental.
Pensando nisso, a função desenvolvida por mim pretende otimizar a análise desses dados, calculando a estatística descritiva dos dados coletados por horário e grupo, apresentando um gráfico exploratório e mostrando se há diferença estatística nas medidas encontradas.
Help
granulosa()
R Documentation
package: ggplot2,grid
*Função para otimização de análise de experimentos farmacológicos conduzidos em dois grupos experimentais e com acompanhamento de resultados ao longo do tempo*
Descrição:
- Calcula a estatística descritiva de dados coletados ao longo do tempo em dois diferentes grupos;
- Analisa se há diferença estatística das medidas entre grupos levando em conta o fator horário (ANOVA para medidas repetidas considerando o fator horário);
- Plota um gráfico exploratório dos dados.
Uso:
granulosa (Horário,IndivíduoG1,Grupo1,IndivíduosG2,Grupo2)
Argumentos:
- Horário,IndivíduoG1,Grupo1,IndivíduosG2,Grupo2:
- Horario é um vetor de valores de cada momento das medidas;
- IndivíduoG1 é um vetor de letras ou números que identifica os indivíduos do Grupo 1;
- Grupo1 é um vetor de valores dos dados obtidos para o Grupo 1, ao longo do tempo;
- IndivíduoG2 é um vetor de letras ou números que identifica os indivíduos do Grupo 2;
- Grupo2 é um vetor de valores dos dados obtidos para o Grupo 2, ao longo do tempo;
*importante ressaltar que os vetores de identificação dos indivíduos deve apresentar letras/valores diferentes para o Grupo 1 e Grupo 2 e devem ser coerentes, ou seja, se os indivíduos do grupo 1 estão representado por letras, os indivíduos do grupo 2 também devem ser representados por letras.
Resultados obtidos:
- Retorna uma lista com a média, mediana, mínimo e máximo dos valores por horário e por grupo;
- Retorna uma lista com a média, mediana, mínimo, máximo e quantils do grupo 1 e grupo 2;
- Retorna o sumário de uma ANOVA para medidas repetidas considerando o fator horário;
- Retorna um gráfico exploratório dos dados;
Exemplo:
granulosa(Horário,IndivíduoG1,Grupo1,IndivíduosG2,Grupo2)
Horário <- c(1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10)
IndivíduosG1<-c("A","B","C","D","E","F","G","H","I","J","A","B","C","D","E","F","G","H","I","J")
Grupo1<- rnorm(20, mean=8, sd=2)
IndivíduosG2<-c("a","b","c","d","e","f","g","h","i","j","a","b","c","d","e","f","g","h","i","j")
Grupo2<-rnorm(20, mean=10, sd=2)
Autora
Carla Bonetti Madelaire
e-mail: cmadelaire@yahoo.com.br
Código da função
granulosa<-function(Horário,IndivíduoG1,Grupo1,IndivíduosG2,Grupo2)
{
Y<-c(Grupo1,Grupo2)
N<-length(Grupo1)
Grupo<-rep(c("Grupo 1","Grupo 2"),each=N)
X<-c(Horário,Horário)
Indivíduos<-c(IndivíduosG1,IndivíduosG2)
data<-data.frame(Indivíduos,Grupo,X,Y)
mediaporhora<-with(data, tapply(Y, list(Grupo,X), mean))
desviopadraoporhora<-with(data, tapply(Y, list(Grupo,X), sd))
medianaporhora<-with(data, tapply(Y, list(Grupo,X), median))
minimoporhora<-with(data, tapply(Y, list(Grupo,X), min))
maximoporhora<-with(data, tapply(Y, list(Grupo,X), max))
lista1<-list(mediaporhora,desviopadraoporhora,medianaporhora,minimoporhora,maximoporhora)
names(lista1)<-c("Média por hora","Desvio padrão por hora","Mediana por hora","Mínimo por hora","Máximo por hora")
data$Grupo = factor(data$Grupo, levels=c("Grupo 1","Grupo 2"))
mediadogrupo<-tapply(data$Y,data$Grupo,mean)
desviooadraoporgrupo<-tapply(data$Y,data$Grupo, sd)
medianaporgrupo<-tapply(data$Y,data$Grupo, median)
minimoporgrupo<-tapply(data$Y,data$Grupo, min)
maximoporgrupo<-tapply(data$Y,data$Grupo, max)
lista2<-list(mediadogrupo,desviooadraoporgrupo,medianaporgrupo,minimoporgrupo,maximoporgrupo)
names(lista2)<-c("Média por grupo","Desvio padrão por grupo","Mediana por grupo","Mínimo por grupo","Máximo por grupo")
quantil<-tapply(data$Y,data$Grupo, quantile)
names(quantil)<-c("Quantils Grupo 1", "Quantils Grupo 2")
aov.out <- aov(X ~ Grupo * Y + Error(Indivíduos/Y), data=data)
sumario<-summary(aov.out)
data2<-data.frame(Grupo1,Grupo2,Horário)
g1<-tapply(data2$Grupo1,data2$Horário,mean)
g2<-tapply(data2$Grupo2,data2$Horário,mean)
Y<-c(g1,g2)
X<-Horário
M<-length(g1)
Grupo<-rep(c("Grupo 1","Grupo 2"),each=M)
erropadrao1<-(sd(Grupo1))/(sqrt(M))
erropadrao2<-(sd(Grupo2))/(sqrt(M))
erropadrão <- c(erropadrao1,erropadrao2)
press<-data.frame(X,Y,erropadrão,Grupo)
f1 = ggplot(data = press, aes(x = X, y = Y, Grupo = Grupo) )
f2 <- f1 + geom_errorbar(aes(ymin = Y - erropadrão, ymax = Y +
erropadrão), width=0.3) + geom_line() + geom_point(aes(shape=Grupo, fill=Grupo), size=5)
f3 <- f2 + scale_x_continuous("Tempo") +
scale_y_continuous("Medida") +
scale_shape_manual(values=c(24,21)) +
scale_fill_manual(values=c("white","black")) +
theme_bw()
lista4<-list(sumario,f3)
names(lista4)<-c("Sumário ANOVA", "Gráfico exploratório")
listafinal<-list(lista1,lista2,lista3,lista4)
return(listafinal)
}
{{:bie5782:01_curso_atual:alunos:trabalho_final:cmadelaire:trabalhofinalpostado.r|Script da função com comentários explicativos em todas as linhas}}
Carla, a sua proposta 1 está um pouco vaga . De que gráficos e medidas descritivas você está falando.? Pelo que pude entender, uma possibilidade seria plotar o tamanho do edema em função do tempo. É isso? Se for esse o caso, uma simples lm() resolveria e sua função não estaria acrescentando nada novo. Já a proposta B está excessivamente simples, pois , pelo que percebi, a sua função estaria simplesmente somando minutos a partir de determinada hora. Por favor, tente desenvolver mais suas propostas para eu poder ajuda-la.
----//[[millan.cristiane@gmail.com.br| Cristiane]]//
====== Mais Comentários I ======
//**__Comentários__**//
Concordo com os comentários da Cris. DEVE descrever melhor o que a função fará, o formato dos dados de entrada, quais argumentos terá e o tipo e estrutura do objeto e gráficos de saída . Fique com o primeiro, mas tente colocar em um contexto mais geral
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 a Cris quando terminar via email acima para ela ou eu darmos uma olhada.
--- //[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2014/04/25 17:02//
====== Mais Comentários I ======
Carla, deve manter todas as propostas no wiki. Não apague nenhuma delas para termos o histórico documentado.
Sua proposta reelaborada é simples e deve ter cuidado para executá-la. Uma função que faça um bom gráfico geral é uma possibilidade, mas deve ser algo que ofereça algum desafio com o risco de fazer uma função muito básica, o que compromete sua avaliação. Na sua descrição não conseguimos reconhecer o desafio que essa função representa. Além disso, uma variavel contínua (y) e uma "temporal" (x) (tb. contínua), não estão no âmbito da ANOVA.
----
**Sugestão**: uma função que receba uma variável continua e uma categórica e faça um gráfico com médias e intervalos de confiança para cada nivel da categórica e rode uma anova, retornando uma tabela de ANOVA além do gráfico. Note que para isso ser um desafio vc. teria que fazer tudo usando apenas as funções básicas de gráfico e (points, lines, segments) e fazer a anova tb. usando apenas as funções aritméticas básicas, se usar as funções prontas, a sua função teria apenas duas linhas... o que não é adequado para o trabalho final.
--- //[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2014/05/08 09:06//