“ 如何判断整体交互作用是否有统计学意义:P for interaction大小的计算”
小编在上一篇推文中简单介绍了交互作用的概念,今天跟大家分享一下如何判断整体交互作用是否有统计学意义(也就是文献中P for interaction的大小计算)。大概思路:先构建两个模型,一个是不含有交互项的molde1,另一个是含有交互项的model2,然后通过似然比检验比较(嵌套式模型比较)两个模型的拟合效果。该推文以lm()函数构建线性模型为例,如果是logistic回归模型,只需要注意建模的时候用glm()函数即可。方法一: (1)构建无交互作用项的线性model1(Nested model);model1=lm(mpg~cyl disp hp wt,data=mtcars) (2)构建有交互作用项的线性model2(Full model);model2=lm(mpg~cyl disp hp wt disp*cyl,data=mtcars) (3)似然比检验比较两个模型:lmtest包中的lrtest()函数;
library(lmtest) lrtest(model1,model2)
# Likelihood ratio test # Model 1: mpg ~ cyl disp hp wt # Model 2: mpg ~ cyl disp # Df LogLik Df Chisq Pr(>Chisq) # 1 6 -72.169 # 2 7 -68.269 1 7.7987 0.005228** # --- # Signif. codes: 0 '***’ 0.001 '**’ 0.01 '*’ 0.05 '.’ 0.1 ' ’ 1 (5)结果解读:卡方值是7.7987,P=0.005228。P for interaction即为此时的P值。方法二: (1)提取两个模型各自的对数似然; logLik(model1) # 'log Lik.' -72.1688 (df=6) logLik(model2) # 'log Lik.' -68.26944 (df=7)
(2)计算二者的对数似然比; LLR <- -2*(logLik(model1) -logLik(model2))
(3)与自由度为1(两个模型只差了1个变量:有无交互项)的卡方分布做比较; 1-pchisq(as.numeric(LLR),df=1)# P value for the LLR test # [1] 0.005228312
可以看出来两种计算方法的结果一样。 合作交流欢迎扫描以下二维码,提供多种临床分析思路支持
|