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<-NAsexo
for(i in 1:length(idade)) {
if(idade[i]=="Jovem") {
sexo[i]<-c("Indeterminado")
} else{
sexo[i]<-sample(c("Macho","Femea"),1)
}
}
idade
diagnostico
dados<-data.frame(sexo,idade,diagnostico)table(dados$sexo,dados$idade)
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))
#grafico#modelos
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"))
#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
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...NA
s. The default is set by thena.action
setting ofoptions
, and isna.fail
if that is unset. The ‘factory-fresh’ default isna.omit
. Another possible value isNULL
, no action. Valuena.exclude
can be useful.
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,HeloiseEm 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. RibasSite Pessoal: http://augustoribas.heliohost.org
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.
_______________________________________________
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.