パッケージのmultinom
関数を使用してp値を取得するにはどうすればよいですか?nnet
R
結果変数として「病理スコア」(不在、軽度、重度)、および2つの主な効果で構成されるデータセットがあります。 ATB1;感染+ ATB2;感染+ ATB3)。
最初に、順序変数回帰モデルを適合させようとしました。これは、私の従属変数(順序)の特性を考えると、より適切と思われます。ただし、オッズの比例性の仮定は(グラフィック的に)大きく違反しているため、代わりにnnet
パッケージを使用して多項モデルを使用する必要がありました。
最初に、ベースラインカテゴリとして使用する必要がある結果レベルを選択しました。
Data$Path <- relevel(Data$Path, ref = "Absent")
次に、独立変数のベースラインカテゴリを設定する必要がありました。
Data$Age <- relevel(Data$Age, ref = "Twenty")
Data$Treat <- relevel(Data$Treat, ref="infected without ATB")
モデル:
test <- multinom(Path ~ Treat + Age, data = Data)
# weights: 18 (10 variable)
initial value 128.537638
iter 10 value 80.623608
final value 80.619911
converged
出力:
Coefficients:
(Intercept) infected+ATB1 infected+ATB2 infected+ATB3 AgeThirty
Moderate -2.238106 -1.1738540 -1.709608 -1.599301 2.684677
Severe -1.544361 -0.8696531 -2.991307 -1.506709 1.810771
Std. Errors:
(Intercept) infected+ATB1 infected+ATB2 infected+ATB3 AgeThirty
Moderate 0.7880046 0.8430368 0.7731359 0.7718480 0.8150993
Severe 0.6110903 0.7574311 1.1486203 0.7504781 0.6607360
Residual Deviance: 161.2398
AIC: 181.2398
pt(abs(summary1$coefficients / summary1$standard.errors), df=nrow(Data)-10, lower=FALSE)
(Intercept) infected+ATB1 infected+ATB2 infected+ATB3 AgeThirty
Moderate 0.002670340 0.08325396 0.014506395 0.02025858 0.0006587898
Severe 0.006433581 0.12665278 0.005216581 0.02352202 0.0035612114
multinom
nnet
のanova()
関数を使用して、完全なモデルと縮小されたモデルの尤度比検定でモデル比較を使用できます。