[英]How to extract p-values from lmekin objects in coxme package
我希望能够查看coxme包生成的lmekin对象的p值。
例如。
model= lmekin(formula = height ~ score + sex + age + (1 | IID), data = phenotype_df, varlist = kinship_matrix)
我试过了:
summary(model)
coef(summary(model))
summary(model$coefficient$fixed)
fixef(model)/ sqrt(diag(vcov(model)) #(Calculates Z-scores but not p-values)
但这些都行不通。 那么如何查看此线性混合模型的p值?
我花了很长时间来寻找这个问题,但是我注意到很多其他类似的问题没有正确答案,所以我想回答这个问题。
你用:
library(coxme)
print(model)
我还注意到很多关于如何从lmekin
对象中提取p值,或者如何从coxme对象中提取p值的帖子。 我写了这个函数,它基于coxme:::print.coxme
函数代码(直接查看代码类型coxme:::print.coxme
到R)。 print
计算p值 - 此函数允许提取p值并将其保存到对象。
请注意, mod
是您的模型,例如。 mod <- lmekin(y~x+a+b)
使用print(mod)
来仔细检查表是否匹配。
extract_coxme_table <- function (mod){
beta <- mod$coefficients$fixed
nvar <- length(beta)
nfrail <- nrow(mod$var) - nvar
se <- sqrt(diag(mod$var)[nfrail + 1:nvar])
z<- round(beta/se, 2)
p<- signif(1 - pchisq((beta/se)^2, 1), 2)
table=data.frame(cbind(beta,se,z,p))
return(table)
}
我到达这个主题是因为我正在为coxme
对象寻找相同的东西。 IcedCoffee的功能可以进行微调:
extract_coxme_table <- function (mod){
beta <- mod$coefficients #$fixed is not needed
nvar <- length(beta)
nfrail <- nrow(mod$var) - nvar
se <- sqrt(diag(mod$var)[nfrail + 1:nvar])
z<- round(beta/se, 2)
p<- signif(1 - pchisq((beta/se)^2, 1), 2)
table=data.frame(cbind(beta,se,z,p))
return(table)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.