[R-br] Duvida de estatistica - GLM binomial

Heloíse Pavanato helopavanato em gmail.com
Sexta Agosto 31 18:20:51 BRT 2012


Augusto, se o que te interessa é idade, como você disse no primeiro e-mail,
minha sugestão é que uses apenas idade no modelo. O sexo sozinho tem efeito
significativo?

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

> Então:
> Ai eu obtenho:
>
> Call:
> glm(formula = as.factor(diagnostico) ~ factor(sexo) + factor(idade),
>     family = "binomial", data = dados, na.action = na.exclude)
>
> Deviance Residuals:
>     Min       1Q   Median       3Q      Max
> -1.8176   0.4892   0.6524   0.7731   0.7833
>
> Coefficients:
>                           Estimate Std. Error z value Pr(>|z|)
> (Intercept)                1.05484    0.55778   1.891   0.0586 .
> factor(sexo)Macho          0.38421    0.65814   0.584   0.5594
> factor(idade)Jovem       -17.82256 1689.28892  -0.011   0.9916
> factor(idade)Sub-Adulto   -0.03066    0.66748  -0.046   0.9634
> ---
> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>
> (Dispersion parameter for binomial family taken to be 1)
>
>     Null deviance: 62.982  on 55  degrees of freedom
> Residual deviance: 56.863  on 52  degrees of freedom
>   (38 observations deleted due to missingness)
> AIC: 64.863
>
> Number of Fisher Scoring iterations: 15
>
>
> Mas ai eu retiro perco muitas observações, e perco justamente as
> observaçoes com resultados para individuos jovens, e no final não consigo
> ver nada relacionado a eles.
> Eu gostaria de declarar "não sei" para o sexo somente, mas não queria que
> as muitas observaçoes que dizem se os passarinhos jovens estão doentes ou
> não.
> Se eu tiro eu não vejo mais nada sem amostras de passarinhos jovens, tanto
> no exemplo como nos dados reais.
> A maioria dos indeterminados é jovem.
> Esse é o problema.
>
> Em 31 de agosto de 2012 16:49, Heloíse Pavanato <helopavanato em gmail.com>escreveu:
>
> Tente:
>> modelo01<-glm(as.factor(diagnostico)~factor(sexo)+factor(idade),family="
>> binomial",data=dados,na.action=na.exclude)
>>
>>
>> Em 31 de agosto de 2012 17:32, Augusto Ribas <ribas.aca em gmail.com>escreveu:
>>
>> 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
>>>
>>>
>>> _______________________________________________
>>> 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
>
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120831/3bd65673/attachment.html>


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