Escolar Documentos
Profissional Documentos
Cultura Documentos
require(ds)
require(multcomp)
require(car)
#exemplo1
#probabilidadededoenacardacaemcesemfunodaidade
#varivel(qualitativa)incidncia(doenapresenteouausente)
incidencia=as.factor(c(rep(0,9),rep(1,1),rep(0,13),rep(1,2),rep(0,9),rep(1,3),re
p(0,10),rep(1,5),rep(0,7),rep(1,6),rep(0,3),rep(1,5),rep(0,4),rep(1,13),rep(0,2),r
ep(1,8)))
#varivel(quantitativa)idade(variandode8a15anos)
idade=c(rep(8,10),rep(9,15), rep(10,12), rep(11,15), rep(12,13), rep(13,8),
rep(14,17),rep(15,10))
#0nodoente
#1doente
#vamosobservarosdadosemumatabela
dados=data.frame(idade,incidencia)
dados
#vamostrocarossmbolos
a="Nodoente"
b="Doente"
incidencia=as.factor(c(rep(a,9),rep(b,1),rep(a,13),rep(b,2),rep(a,9),rep(b,3),rep
(a,10),rep(b,5),rep(a,7),rep(b,6),rep(a,3),rep(b,5),rep(a,4),rep(b,13),rep(a,2),re
p(b,8)))
incidencia
#paraquesejaestimadaaprobabilidadededoentedevesefazer
incidencia=relevel(incidencia,ref="Nodoente")
incidencia
#organizandotudoemumdata.frame
dados=data.frame(idade,incidencia)
dados
#tabelacomfreqnciasabsolutas
t=table(idade,incidencia)
t
#tabelacomfreqnciasrelativas
prop.table(t,1)
#tabelacomfreqnciaspercentuais
p=prop.table(t,1)*100
p
#vamosobservargraficamenteaevoluodafreqnciadedoenaem
funodaidadedoanimal
Frequncia=p[,2]
Idade=c(8:15)
plot(Frequncia~Idade,type="o",lty=2,col=2)
#ummodeloquepodeestimaraprobabilidadededoenaemfunodo
tempoomodelologstico:p=1/(1+e(a+bx1))
#noRpodeseestimarviamodeloslinearesgeneralizados(glm)atravs
dafunoglm()
#ajustandoomodelo
m1=glm(incidencia~idade,family=binomial,data=dados)
m1
#testaainclusodavarivelidade(idade)nomodelo(deveentrar,pois
p<0,05)
anova(m1,test="Chisq")
#ento,podeseconcluirqueavarivelidadeinflunciaestatisticamente
aincidnciadedoenacardacaemces
#vamosobservaremumgrfico
a1=coef(m1)[1]
b1=coef(m1)[2]
a1;b1
f1=function(x){1/(1+exp(a1b1*x))}
f1
plot(Frequncia/100~Idade,xlab="Idade(anos)",ylab="Frequnciarelativa")
curve(f1,8,15,lty=2,col=2,add=T)
#vamosestimarprobabilidades
#probabilidadedeumcocom8anosteralgumadoenacoronariana
f1(8)
#probabilidadedeumcocom8,5anosteralgumadoenacoronariana
f1(8.5)
#etc
#oddsratio(razodechances)
coef(m1)
exp(coef(m1))#odds
confint(m1)
exp(confint(m1))#intervalodeconfianadaodds
odds=data.frame(odds=exp(coef(m1)),IC=exp(confint(m1)))
odds=odds[1,]
round(odds,2)
#achancededoenacoronarianaaumentaemmdia75%acadaanode
idadedoanimal
#achancedeumanimalde10anosterumadoenacoronarianaem
relaoaumanimalde8ano:
exp(b1*(108))
#achancedeumanimalde15anosterumadoenacoronarianaem
relaoaumanimalde8ano:
exp(b1*(158))
#exemplo2(regressologsticamltipla)
#doenacardacaemfunodosexoedoporte(tamanho)doanimal
incidencia2=as.factor(c(rep('doente',9),rep('no
doente',41),rep('doente',13),rep('nodoente',37)))
sexo=as.factor(c(rep('macho',50),rep('fmea',50)))
tamanho=as.factor(c(rep('pequeno',1),rep('mdio',2),
rep('pequeno',16),rep('mdio',15),
rep('pequeno',1),rep('mdio',2),
rep('grande',6),
rep('grande',10),
rep('grande',10),
rep('pequeno',13),rep('mdio',12),rep('grande',12)))
dados2=data.frame(incidencia2,sexo,tamanho)
dados2
#paraquesejaestimadaaprobabilidadededoentedevesefazer
incidencia2=relevel(incidencia2,ref="nodoente")
incidencia2
tamanho=relevel(tamanho,ref="pequeno")
tamanho
#organizandotudoemumdata.frame
dados3=data.frame(incidencia2,sexo,tamanho)
dados3
#tabelacomfreqnciasabsolutas
t1=table(sexo,incidencia2)
t1
t2=table(tamanho,incidencia2)
t2
#tabelacomfreqnciaspercentuais
p1=prop.table(t1,1)*100
p1
p2=prop.table(t2,1)*100
p2
#noentranomodelo(pmaiorque0.20)
chisq.test(t1)
#entranomodelo(pmenorque0.20)
chisq.test(t2)
#ajustandoomodelo
m2=glm(incidencia2~tamanho,family=binomial,data=dados3)
m2
#testaainclusodavarivelidade(idade)nomodelo(deveentrar,pois
p<0,05)
anova(m2,test="Chisq")
#aoddsratio
exp(coef(m2))
exp(confint(m2))
odds=data.frame(odds=exp(coef(m2)),IC=exp(confint(m2)))
odds=odds[1,]
round(odds,2)
#achanceumanimaldeportegrandedoenteemrelaoaumdeporte
pequeno10.55vezesmaior(esignificativo)
#achanceumanimaldeportemdioestardoenteemrelaoaumde
portepequeno2.15vezesmaior(enosignificativo)
#modelocompleto
m3=glm(incidencia2~tamanho+sexo+tamanho*sexo,
family=binomial,
data=dados3)
m3
#quandonomodeloonmerodevariveisforsuperiora2usarafuno
Anova()dopacotecar
Anova(m3,type=3)
#valordepdoquiquadradoparaareduonadeviancedevidoaofator
tamanho
1pchisq(8.3011,2)
#ouento
step(m3)
#dadosdecontagem
Cow farm lact
scc
50
500
40
10
45
13
180
16
100
200
150
35
11
60
14
90
17
80
250
200
150
12
120
15
210
18
150
dados=read.table("clipboard",head=TRUE)
summary(dados)
dados$lact=as.factor(dados$lact)
summary(dados)
#modelo
modelo=glm(scc~farm+lact,family="quasipoisson",data=dados)
#significnciadasvariveisnomodelo
anova(modelo,test="Chisq")
#testeparacompararosefeitos
require(multcomp)
#paracompararasfazendas
y1=glht(modelo,linfct=mcp(farm="Tukey"))
summary(y1,test=adjusted("none"))
cld(y1,test=adjusted("none"))
#paracompararaslactaes
y2=glht(modelo,linfct=mcp(lact="Tukey"))
summary(y2,test=adjusted("none"))
cld(y2,test=adjusted("none"))