Comment obtenir des valeurs de p en utilisant la multinom
fonction de nnet
package dans R
?
J'ai un ensemble de données qui se compose de «scores de pathologie» (absents, légers, graves) comme variable de résultat, et deux effets principaux: l'âge (deux facteurs: vingt / trente jours) et le groupe de traitement (quatre facteurs: infecté sans ATB; infecté + ATB1; infecté + ATB2; infecté + ATB3).
J'ai d'abord essayé d'adapter un modèle de régression ordinale, qui semble plus approprié compte tenu des caractéristiques de ma variable dépendante (ordinale). Cependant, l'hypothèse de proportionnalité des cotes a été gravement violée (graphiquement), ce qui m'a incité à utiliser un modèle multinomial à la place, en utilisant le nnet
package.
J'ai d'abord choisi le niveau de résultat que je dois utiliser comme catégorie de référence:
Data$Path <- relevel(Data$Path, ref = "Absent")
Ensuite, je devais définir des catégories de base pour les variables indépendantes:
Data$Age <- relevel(Data$Age, ref = "Twenty")
Data$Treat <- relevel(Data$Treat, ref="infected without ATB")
Le modèle:
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
Le résultat:
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
laanova()
fonction de.