[R-br] Duvida de estatistica - GLM binomial

Augusto Ribas ribas.aca em gmail.com
Sexta Agosto 31 18:01:39 BRT 2012


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120831/7032532c/attachment.html>


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