从这边开始,由于每天学习量比较大,除了学习R语言,还要同时查阅文献,准备接下来的试验设计,再加上等到疫情结束以后需要马上投入试验,还有几个本科生的毕业论文,所有接下去的学习记录主要以一节一节的形式记录下来。

1. glm()函数

  glm(formula, family=family(link=function), data=) 可拟合多种模型,如Logistic回归、泊松回归等。

glm()的参数
分 布 族 默认的连接函数
binomial (link = 'logit')
gaussian (link = 'identity')
gamma (link = 'inverse')
inverse.guassian (link = 'l/mu^2')
poisson (link = 'log')
quasi (link = 'identity', variance = 'constant')
quasibinomial (link = 'logit')
quasipoisson (link = 'log')

2. Logistic回归

  数据结果和书中有些不一致,但是方法是不会错的,毕竟数据只是学习的一部分,最后再为自己的数据服务。

install.packages('AER')
# 婚外情数据 即 著名的 “Fair's Affairs”
library(AER)
data(Affairs, package = 'AER')
summary(Affairs)
table(Affairs$affairs)
# 分为有过一次婚外情/没有过婚外情
Affairs$ynaffair[Affairs$affairs > 0] <- 1
Affairs$ynaffair[Affairs$affairs == 0] <- 0
Affairs$ynaffair <- factor(Affairs$affair,
                           levels = c(0, 1),
                           labels = c('No', 'Yes'))
table(Affairs$ynaffair)
# 该二值型因子现可作为Logistic回归的结果变量
fit.full <-
  glm(
    ynaffair ~ gender + age + yearsmarried + children + religiousness + education + occupation + rating,
    data = Affairs,
    family = binomial()
  )
summary(fit.full)

# 去除不显著的假设 我的数据结果和原书不同
fit.reduced <- glm(ynaffair ~ gender + children, data = Affairs, family = binomial())
summary(fit.reduced)
# 卡方检验
anova(fit.reduced, fit.full, test = 'Chisq')
# 解释模型参数
coef(fit.reduced)
# 对结果进行指数化
exp(coef(fit.reduced))

3. 泊松回归

posted on 2020-02-08 20:18  Canvas2018  阅读(135)  评论(0)    收藏  举报