ロジットモデルの推定
統計解析パッケージRでロジットモデルを推定するためには、CRAN(The Comprehensive R Archive Network)からBundle of MASS,class, nnet, spatialをダウンロード。
Windowsの場合VR_7.2-2.zipファイルを解凍すると、
というフォルダとファイルが作成される。
rw****のフォルダの中の library のフォルダに一括して上書きコピー。
Rを起動して
> library(nnet);
> library(MASS);
とライブラリを読み込んだ上で、
>multinom(formula, data, weights, subset, na.action,
contrasts = NULL, Hess = FALSE, summ = 0, censored = FALSE,
model = FALSE, ...)
とすることで推定が出来る。
附属している例では
multinom(formula = low ~ ., data = bwt)
が実行される。
このパッケージに含まれている例では、出生時体重が2.5kg以上か以下かを示す low を母親の年齢(age)、母親の体重(lwt)、母親の人種(race)、母親が妊娠中に喫煙していたかどうか(smoke)、未熟児を産んだことがあるかどうか(ptd)、高血圧かどうか(ht)、被刺激性の不正子宮出血の病歴があるか(ui)、最初の3ヵ月に医者にかかった回数(ftv)によって説明するモデルとなっている。
以下が「例」のアウトプット。
> example(birthwt);
brthwt> attach(birthwt)
brthwt> race <- factor(race, labels = c("white", "black",
"other"))
brthwt> ptd <- factor(ptl > 0)
brthwt> ftv <- factor(ftv)
brthwt> levels(ftv)[-(1:2)] <- "2+"
brthwt> bwt <- data.frame(low = factor(low), age, lwt, race,
smoke = (smoke > 0), ptd, ht = (ht > 0), ui = (ui > 0), ftv)
brthwt> detach("birthwt")
brthwt> options(contrasts = c("contr.treatment", "contr.poly"))
brthwt> glm(low ~ ., binomial, bwt)
Call: glm(formula = low ~ ., family = binomial, data = bwt)
Coefficients:
(Intercept) age lwt raceblack raceother smokeTRUE
0.82302 -0.03723 -0.01565 1.19241 0.74068 0.75553
ptdTRUE htTRUE uiTRUE ftv1 ftv2+
1.34376 1.91317 0.68020 -0.43638 0.17901
Degrees of Freedom: 188 Total (i.e. Null); 178 Residual
Null Deviance: 234.7
Residual Deviance: 195.5 AIC: 217.5
Windowsの場合VR_7.2-2.zipファイルを解凍すると、
- class_フォルダ
- mass_フォルダ
- nnet_フォルダ
- spatial_フォルダ
- description
というフォルダとファイルが作成される。
rw****のフォルダの中の library のフォルダに一括して上書きコピー。
Rを起動して
> library(nnet);
> library(MASS);
とライブラリを読み込んだ上で、
>multinom(formula, data, weights, subset, na.action,
contrasts = NULL, Hess = FALSE, summ = 0, censored = FALSE,
model = FALSE, ...)
とすることで推定が出来る。
附属している例では
multinom(formula = low ~ ., data = bwt)
が実行される。
このパッケージに含まれている例では、出生時体重が2.5kg以上か以下かを示す low を母親の年齢(age)、母親の体重(lwt)、母親の人種(race)、母親が妊娠中に喫煙していたかどうか(smoke)、未熟児を産んだことがあるかどうか(ptd)、高血圧かどうか(ht)、被刺激性の不正子宮出血の病歴があるか(ui)、最初の3ヵ月に医者にかかった回数(ftv)によって説明するモデルとなっている。
以下が「例」のアウトプット。
> example(birthwt);
brthwt> attach(birthwt)
brthwt> race <- factor(race, labels = c("white", "black",
"other"))
brthwt> ptd <- factor(ptl > 0)
brthwt> ftv <- factor(ftv)
brthwt> levels(ftv)[-(1:2)] <- "2+"
brthwt> bwt <- data.frame(low = factor(low), age, lwt, race,
smoke = (smoke > 0), ptd, ht = (ht > 0), ui = (ui > 0), ftv)
brthwt> detach("birthwt")
brthwt> options(contrasts = c("contr.treatment", "contr.poly"))
brthwt> glm(low ~ ., binomial, bwt)
Call: glm(formula = low ~ ., family = binomial, data = bwt)
Coefficients:
(Intercept) age lwt raceblack raceother smokeTRUE
0.82302 -0.03723 -0.01565 1.19241 0.74068 0.75553
ptdTRUE htTRUE uiTRUE ftv1 ftv2+
1.34376 1.91317 0.68020 -0.43638 0.17901
Degrees of Freedom: 188 Total (i.e. Null); 178 Residual
Null Deviance: 234.7
Residual Deviance: 195.5 AIC: 217.5