
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@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@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@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@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@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@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@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@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@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@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@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.