[R-br] Duvida de estatistica - GLM binomial

Augusto Ribas ribas.aca em gmail.com
Sexta Agosto 31 17:32:36 BRT 2012


Arrumando o exemplo:  (eu não tinha colocado pra usar o dataframe que criei
nas analises)

#dados, exemplo
set.seed(666)
n<-90
idade<-sample(c("Adulto","Sub-Adulto","Jovem"),n,replace=T)
idade
efeito<-ifelse(idade=="Jovem",1,0)
efeito
diagnostico<-rbinom(n,1,0.75+efeito*(-0.25))
sexo<-NA
for(i in 1:length(idade)) {
 if(idade[i]=="Jovem") {
  sexo[i]<-c("Indeterminado")
  } else{
  sexo[i]<-sample(c("Macho","Femea"),1)
  }
 }
sexo
idade
diagnostico
dados<-data.frame(sexo,idade,diagnostico)

dados<-rbind(dados,c("Femea","Jovem",0))
dados<-rbind(dados,c("Indeterminado","Adulto",0))
dados<-rbind(dados,c("Macho","Jovem",0))
dados<-rbind(dados,c("Indeterminado","Sub-Adulto",0))
table(dados$sexo,dados$idade)

#grafico
par(mfrow=c(1,2),cex=0.6)
barplot(table(diagnostico,sexo),ylim=c(0,40),legend.text
=c("Parasitado","Não Parasitado"))
barplot(table(diagnostico,idade),ylim=c(0,40),legend.text
=c("Parasitado","Não Parasitado"))

#modelos
#as 2 variaveis juntas
modelo01<-glm(as.factor(diagnostico)~factor(sexo)+factor(idade),family="binomial",data=dados)
summary(modelo01)

#cada uma separada
modelo02<-glm(as.factor(diagnostico)~idade,family="binomial",data=dados)
summary(modelo02)

modelo03<-glm(as.factor(diagnostico)~factor(sexo),family="binomial",data=dados)
summary(modelo03)

Em 31 de agosto de 2012 16:17, Augusto Ribas <ribas.aca em gmail.com> escreveu:

> Então, mas ai:
> na.action
>
> a function which indicates what should happen when the data contain NAs.
> The default is set by the na.action setting of options<http://127.0.0.1:30387/library/stats/help/options>,
> and is na.fail <http://127.0.0.1:30387/library/stats/help/na.fail> if
> that is unset. The ‘factory-fresh’ default is na.omit<http://127.0.0.1:30387/library/stats/help/na.omit>.
> Another possible value is NULL, no action. Value na.exclude<http://127.0.0.1:30387/library/stats/help/na.exclude>can be useful.
>
> Se eu colocar NA direto, não vai excluir as linhas que tem Indeterminado
> do Sexo, que vai exluir também as linhas de jovem da idade, e no final eu
> não vou avaliar a idade para os dois...
> O na action tinha que ser não o na.exclude não?
>
> Em 31 de agosto de 2012 15:29, Heloíse Pavanato <helopavanato em gmail.com>escreveu:
>
> Augusto,
>>
>> Tente colocar NA (missing value) onde você não tem a informação.
>>
>> Att,
>> Heloise
>>
>> Em 31 de agosto de 2012 16:18, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>
>>> Ola pessoal.
>>> Eu estava olhando aqui uns dados com um amigo e me surgiu uma duvida.
>>>
>>> O problema é o seguinte:
>>> Os dados são referentes a ocorrência de uma doença em passarinhos.
>>> Pegamos muitos passarinhos em redes em um lugar e testamos se ele esta
>>> doente ou não.
>>> Durante a captura, registramos varias caracteristicas dos passarinhos,
>>> entre elas o sexo e a idade.
>>> Ai gostaríamos de perguntar se essas variáveis influenciam na chance do
>>> passarinho estar doente ou não.
>>>
>>> O problema começa no seguinte, a idade é fácil de determinar, são 3
>>> classes, jovem, sub-adulto e adulto e isso é feito sem muito erro,
>>> Agora o sexo, era pra ser macho ou femea, mas quando o passarinho é
>>> muito novo, é impossível saber o sexo dele, então a gente tava colocando
>>> indeterminado, pq visualmente não da pra saber o sexo do passarinho, e não
>>> tem outro jeito.
>>>
>>> Então eu tenho 2 variáveis, de 3 níveis cada uma e fiz um glm binomial.
>>>
>>> So que qd eu faço a analise o sexo da significativo (a classe
>>> indeterminado), sendo que os indeterminados tem menor chance de estar
>>> doente.
>>> Mas na verdade eu acho que o que interessa é a idade (Que faz sentido
>>> biológico ser significativo).
>>> Se vc olha o gráfico, vc ve o padrão é o mesmo no sexo e na idade.
>>> E a inabilidade de identificar o sexo nos passarinhos vem exatamente
>>> dele ser jovem demais, não desenvolveu ainda. Ai uma coisa confunde com a
>>> outra.
>>> Será que alguem tem aluma sugestão de o que fazer?
>>> Tem como representar o sexo como "Não sei", é um dos 2 níveis mas pra
>>> esse passarinho eu não sei? Eu não sei como fazer isso. É possível fazer
>>> isso pro sexo no glm no meu caso?
>>>
>>> Segue um exemplo para ilustrar mais ou menos o que eu to vendo:
>>>
>>> #Gerando dados de exemplo
>>> set.seed(666)
>>> n<-90
>>>
>>> #eu acredito que a idade tem um efeito significativo
>>> #ja que por exemplo, o cara muito jovem vai ter tempo de exposição menor
>>> #a indivíduos doentes
>>> idade<-sample(c("Adulto","Sub-Adulto","Jovem"),n,replace=T)
>>> idade
>>> efeito<-ifelse(idade=="Jovem",1,0)
>>> efeito
>>> diagnostico<-rbinom(n,1,0.75+efeito*(-0.25))
>>>
>>> #E o sexo do passarinho não tem efeito, mas os jovens sempre são
>>> inderterminados
>>> sexo<-NA
>>> for(i in 1:length(idade)) {
>>>  if(idade[i]=="Jovem") {
>>>   sexo[i]<-c("Indeterminado")
>>>   } else{
>>>   sexo[i]<-sample(c("Macho","Femea"),1)
>>>   }
>>>  }
>>>
>>> dados<-data.frame(sexo,idade,diagnostico)
>>>
>>> #so completando os casos
>>> dados<-rbind(dados,c("Femea","Jovem",0))
>>> dados<-rbind(dados,c("Indeterminado","Adulto",0))
>>> dados<-rbind(dados,c("Macho","Jovem",0))
>>> dados<-rbind(dados,c("Indeterminado","Sub-Adulto",0))
>>>
>>> #amostras
>>> table(dados$sexo,dados$idade)
>>> head(dados)
>>>
>>>
>>>
>>> #Grafico
>>> #no final o que eu vejo é mais ou menos isso:
>>> par(mfrow=c(1,2),cex=0.6)
>>> barplot(table(diagnostico,sexo),ylim=c(0,40),legend.text
>>> =c("Parasitado","Não Parasitado"))
>>> barplot(table(diagnostico,idade),ylim=c(0,40),legend.text
>>> =c("Parasitado","Não Parasitado"))
>>>
>>> #O indeterminado e Jovem é mais meio a meio no numero de parasitados que
>>> as outras classes
>>>
>>> #mas eu vejo um resultado significativo pro sexo, ou jovem se mudar a
>>> ordem
>>> #isso esta errado
>>> modelo01<-glm(diagnostico~factor(idade)+factor(sexo),family="binomial")
>>> summary(modelo01)
>>> plogis(coef(modelo01)[1:2])
>>> #eu acredito que cai naquele problema do aov, de experimento não
>>> balanceado e tal
>>>
>>> #se olhar individualmente tudo ok, mas não consigo olhar as 2 variaveis
>>> juntas.
>>> modelo02<-glm(diagnostico~factor(idade),family="binomial")
>>> summary(modelo02)
>>> plogis(coef(modelo02)[1:2])
>>>
>>> modelo03<-glm(diagnostico~factor(sexo),family="binomial")
>>> summary(modelo03)
>>> plogis(coef(modelo03)[1:2])
>>>
>>>
>>> Se alguem puder dar uma olhada e dar alguma sugestão, fiz um exemplo,
>>> mas os dados deixam um grafico exatamente como aquele, se alguem quiser
>>> olhar os dados originais eu posso mandar.
>>>
>>> --
>>> Grato
>>> Augusto C. A. Ribas
>>>
>>> Site Pessoal: http://augustoribas.heliohost.org
>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>>
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> Grato
> Augusto C. A. Ribas
>
> Site Pessoal: http://augustoribas.heliohost.org
> Lattes: http://lattes.cnpq.br/7355685961127056
>
>


-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://augustoribas.heliohost.org
Lattes: http://lattes.cnpq.br/7355685961127056
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120831/61abcdbf/attachment.html>


Mais detalhes sobre a lista de discussão R-br