所以我得到了一个多项式模型,这就像这样:
我有很多观察值(患者),具有5个类别中的1个类别:对照,A_severe,A_low,B_severe和B_low。
因此,我尝试使用nnet软件包来拟合多项式模型,然后按如下所示提取Wald测试p值:
multinom_wout20_1 = multinom(formula_wout20_base,data=wout_20_training, maxit=10000)
summary(multinom_wout20_1)
Coefs:
exp(coef(multinom_wout20_1))
Z值
z_wout <- summary(multinom_wout20_1)$coefficients/summary(multinom_wout20_1)$standard.errors
z_wout
我们得到p值:
# 2-tailed z test
p_wout <- (1 - pnorm(abs(z_wout), 0, 1)) * 2
p_wout
然后我将它们传递给自定义变量以将其视为字母(更直观)
## Function to Pass our values to letters.
sign_levels_df_letter <- function(df) {
df <- ifelse(df >.80, "Z", ifelse(df >.50, "FFF",
ifelse( df >.30, "FF",
ifelse(df >.10 , "F",
ifelse(df <= 0.0001, "AAA",
ifelse(df <= .0005,"AA+",
ifelse(df <= .001,"AA",
ifelse(df <= .005, "A+",
ifelse (df<= .01, "A",
ifelse(df<= .05, "A-",
ifelse(df <=.07, "B",
ifelse(df <=.10, "C", NA
))))))))))))
return(df)
}
aux_pwout0 = sign_levels_df_letter(p_wout) ; aux_pwout0
如果我使用软件包stargazer
,我的姿势是相同的(因为它们的符号与*,***和**一致)>
library(stargazer) stargazer(multinom_wout20_1, type= "text" ) # "html", out="multi1.htm")
但是从该线程的响应中可以看出:
使用Wald而不是LogLikehood存在一些问题。¿如何从模型中获得似然比检验p值?
我不介意为数据使用其他功能,但是mloget包中的mlogit要求我将数据传递为宽格式,这并不像看上去那样容易,但我认为我可以从中提取:
R: how to format my data for multinomial logit?
如果最后一个函数的某些使用者可以告诉我是否有一些秘密函数可以自动完成此任务,那也解决了我的问题。
所以我得到了一个多项式模型,它的样子是这样的:我得到了一堆具有5个类别之一的观察值(患者):控制,A_severe,A_low,B_severe和B_low。所以我试图拟合一个多项式...
好吧,我明白了。