如何在 svy_vglm 中获取分类变量的全局 p
how to get global p for categorical variables in svy_vglm
我正在使用函数 svyVGAM::svy_vglm
来 运行 具有调查权重的多项式模型:
mmodel <- svy_glm(y~x1+x2+x3+x4..., family=multinomial, design=w_data)
其中 x
代表分类变量,有些具有三个或更多水平。通过model summary,我可以知道每个系数的p-value,但是我不知道如何得到全局变量的p-value
在其他情况下,anova()
、waldtest()
、lrtest()
、...都可以使用,但 none 似乎与 [=29= 一起使用] 对象。 tbl_regression
也不起作用:Error: No tidy method for objects of class svy_vglm
.
有什么帮助吗?
谢谢
您可以使用 coef
和 vcov
方法执行此操作。大概有包,不过编程也不难
假设 model
是您的模型对象,design
是您的调查设计对象,index
是一个包含您要测试的系数位置的向量。例如,如果您有十个系数并且想要测试除前两个以外的所有系数,您将有 index<-3:10
。
beta<-coef(model)[index]
V<-vcov(model)[index,index]
teststat <- crossprod(beta, solve(V,beta))
pf(teststat, df1=length(beta), df2=degf(design), lower.tail=FALSE)
这不会为您提供似然比检验;您可能需要写信给软件包作者并建议将其作为一项新功能。
我正在使用函数 svyVGAM::svy_vglm
来 运行 具有调查权重的多项式模型:
mmodel <- svy_glm(y~x1+x2+x3+x4..., family=multinomial, design=w_data)
其中 x
代表分类变量,有些具有三个或更多水平。通过model summary,我可以知道每个系数的p-value,但是我不知道如何得到全局变量的p-value
在其他情况下,anova()
、waldtest()
、lrtest()
、...都可以使用,但 none 似乎与 [=29= 一起使用] 对象。 tbl_regression
也不起作用:Error: No tidy method for objects of class svy_vglm
.
有什么帮助吗?
谢谢
您可以使用 coef
和 vcov
方法执行此操作。大概有包,不过编程也不难
假设 model
是您的模型对象,design
是您的调查设计对象,index
是一个包含您要测试的系数位置的向量。例如,如果您有十个系数并且想要测试除前两个以外的所有系数,您将有 index<-3:10
。
beta<-coef(model)[index]
V<-vcov(model)[index,index]
teststat <- crossprod(beta, solve(V,beta))
pf(teststat, df1=length(beta), df2=degf(design), lower.tail=FALSE)
这不会为您提供似然比检验;您可能需要写信给软件包作者并建议将其作为一项新功能。