阅读权限 255 威望 1 级论坛币 49640 个 通用积分 55.8137 学术水平 370 点 热心指数 273 点 信用等级 335 点 经验 57805 点 帖子 4005 精华 21 在线时间 582 小时 注册时间 2005-5-8 最后登录 2023-11-26
library(faraway)
y <- c(320,14,80,36)
particle <- gl(2,1,4,labels=c("no","yes"))
quality <- gl(2,2,labels=c("good","bad"))
wafer <- data.frame(y,particle,quality)
wafer
(ov <- xtabs(y ~ quality+particle))
modl <- glm(y ~ particle+quality, poisson)
summary(modl)
drop1(modl,test="Chi")
(t(model.matrix(modl)) %*% y)[,]
(pp <- prop.table( xtabs(y ~ particle)))
(qp <- prop.table( xtabs(y ~ quality)))
(fv <- outer(qp,pp)*450)
2*sum(ov*log(ov/fv))
sum( (ov-fv)^2/fv)
prop.test(ov)
(m <- matrix(y,nrow=2))
modb <- glm(m ~ 1, family=binomial)
deviance(modb)
fisher.test(ov)
(320*36)/(14*80)
data(haireye)
haireye
(ct <- xtabs(y ~ hair + eye, haireye))
summary(ct)
dotchart(ct)
mosaicplot(ct,color=T,main="")
modc <- glm(y ~ hair+eye,family=poisson,haireye)
summary(modc)
z <- xtabs(residuals(modc,type="pearson")~hair+eye,haireye)
svdz <- svd(z,2,2)
leftsv <- svdz$u %*% diag(sqrt(svdz$d[1:2]))
rightsv <- svdz$v %*% diag(sqrt(svdz$d[1:2]))
ll <- 1.1*max(abs(rightsv),abs(leftsv))
plot(rbind(leftsv,rightsv),asp=1,xlim=c(-ll,ll),ylim=c(-ll,ll),xlab="SV1",ylab="SV2",type="n")
abline(h=0,v=0)
text(leftsv,dimnames(z)[[1]])
text(rightsv,dimnames(z)[[2]])
data(eyegrade)
(ct <- xtabs(y ~ right+left, eyegrade))
summary(ct)
(symfac <- factor(apply(eyegrade[,2:3],1,function(x) paste(sort(x),collapse="-"))))
mods <- glm(y ~ symfac, eyegrade, family=poisson)
c(deviance(mods),df.residual(mods))
pchisq(deviance(mods),df.residual(mods),lower=F)
round(xtabs(residuals(mods) ~ right+left, eyegrade),3)
margin.table(ct,1)
margin.table(ct,2)
modq <- glm(y ~ right+left+symfac, eyegrade, family=poisson)
pchisq(deviance(modq),df.residual(modq),lower=F)
anova(mods,modq,test="Chi")
modqi <- glm(y ~ right+left, eyegrade, family=poisson, subset=-c(1,6,11,16))
pchisq(deviance(modqi),df.residual(modqi),lower=F)
data(femsmoke)
femsmoke
(ct <- xtabs(y ~ smoker+dead,femsmoke))
prop.table(ct,1)
summary(ct)
(cta <- xtabs(y ~ smoker+dead,femsmoke, subset=(age=="55-64")))
prop.table(cta,1)
prop.table(xtabs(y ~ smoker+age, femsmoke),2)
fisher.test(cta)
ct3 <- xtabs(y ~ smoker+dead+age,femsmoke)
apply(ct3, 3, function(x) (x[1,1]*x[2,2])/(x[1,2]*x[2,1]))
mantelhaen.test(ct3,exact=TRUE)
summary(ct3)
modi <- glm(y ~ smoker + dead + age, femsmoke, family=poisson)
c(deviance(modi),df.residual(modi))
(coefsmoke <- exp(c(0,coef(modi)[2])))
coefsmoke/sum(coefsmoke)
prop.table(xtabs(y ~ smoker, femsmoke))
modj <- glm(y ~ smoker*dead + age, femsmoke, family=poisson)
c(deviance(modj),df.residual(modj))
modc <- glm(y ~ smoker*age + age*dead, femsmoke, family=poisson)
c(deviance(modc),df.residual(modc))
modu <- glm(y ~ (smoker+age+dead)^2, femsmoke, family=poisson)
ctf <- xtabs(fitted(modu) ~ smoker+dead+age,femsmoke)
apply(ctf, 3, function(x) (x[1,1]*x[2,2])/(x[1,2]*x[2,1]))
exp(coef(modu)['smokerno:deadno'])
modsat <- glm(y ~ smoker*age*dead, femsmoke, family=poisson)
drop1(modsat,test="Chi")
drop1(modu,test="Chi")
ybin <- matrix(femsmoke$y,ncol=2)
modbin <- glm(ybin ~ smoker*age, femsmoke[1:14,], family=binomial)
drop1(modbin,test="Chi")
modbinr <- glm(ybin ~ smoker+age, femsmoke[1:14,], family=binomial)
drop1(modbinr,test="Chi")
deviance(modu)
deviance(modbinr)
exp(-coef(modbinr)[2])
modbinull <- glm(ybin ~ 1, femsmoke[1:14,], family=binomial)
deviance(modbinull)
modj <- glm(y ~ smoker*age + dead, femsmoke, family=poisson)
deviance(modj)
data(nes96)
xtabs( ~ PID + educ, nes96)
(partyed <- as.data.frame.table(xtabs( ~ PID + educ, nes96)))
nomod <- glm(Freq ~ PID + educ, partyed, family= poisson)
pchisq(deviance(nomod),df.residual(nomod),lower=F)
partyed$oPID <- unclass(partyed$PID)
partyed$oeduc <- unclass(partyed$educ)
ormod <- glm(Freq ~ PID + educ + I(oPID*oeduc), partyed, family= poisson)
anova(nomod,ormod,test="Chi")
summary(ormod)$coef['I(oPID * oeduc)',]
apid <- c(1,2,5,6,7,10,11)
aedu <- c(1,1,1,2,2,3,3)
ormoda <- glm(Freq ~ PID + educ + I(apid[oPID]*aedu[oeduc]), partyed, family= poisson)
anova(nomod,ormoda,test="Chi")
round(xtabs(predict(ormod,type="response") ~ PID + educ, partyed),2)
log(39.28*28.85/(47.49*23.19))
round(xtabs(residuals(ormod,type="response") ~ PID + educ, partyed),2)
cmod <- glm(Freq ~ PID + educ + educ:oPID, partyed, family= poisson)
anova(nomod,cmod,test="Chi")
summary(cmod)$coef[14:19,]
anova(ormod,cmod,test="Chi")
aedu <- c(1,1,2,2,2,2,2)
ormodb <- glm(Freq ~ PID + educ + I(oPID*aedu[oeduc]), partyed, family= poisson)
deviance(ormodb)
deviance(ormod) 复制代码