如何在lme混合效应模型中隐藏Mare相关固定效应估计?
隐藏lme模型摘要中Mare相关固定效应的方法
核心思路
直接修改summary.lme生成的结果对象,仅保留固定效应表中(Intercept)和Time的行,其余部分(随机效应、残差统计等)完全保留。
代码实现
步骤1:拟合原模型
library(nlme) data("Ovary") fm1 <- lme(follicles ~ Time + Mare, Ovary, random = ~ Time| Mare)
步骤2:修改并打印摘要
# 获取完整的模型摘要对象 fm1_summary <- summary(fm1) # 筛选固定效应表,只保留目标行 target_rows <- rownames(fm1_summary$tTable) %in% c("(Intercept)", "Time") fm1_summary$tTable <- fm1_summary$tTable[target_rows, , drop = FALSE] # 输出修改后的摘要 print(fm1_summary)
可选:自定义重复使用的函数
如果需要多次处理类似模型,可以封装成函数:
print_filtered_lme_summary <- function(model, keep_terms = c("(Intercept)", "Time")) { sum_obj <- summary(model) sum_obj$tTable <- sum_obj$tTable[rownames(sum_obj$tTable) %in% keep_terms, , drop = FALSE] print(sum_obj) } # 调用示例 print_filtered_lme_summary(fm1)
说明
- 这种方法不会改动模型本身的拟合结果,只是修改了摘要的显示内容。
- 随机效应估计、残差统计量、相关系数矩阵等所有其他部分都会和原摘要完全一致。
内容的提问来源于stack exchange,提问作者Ahir Bhairav Orai
相关产品推荐
相关产品推荐

