如何让R在方差分析表中将所有协变量的SSR合并为单行展示?
解决方法
可以通过对比全模型与仅含截距的零模型,提取整体回归的统计量,再结合残差信息构造符合需求的方差分析表,具体代码如下:
set.seed(1) Y <- sample(100) n <- 100 X1 <- sample(n) X2 <- sample(n) X3 <- as.factor(rep(c("A", "B", "C", "D"), n/4)) model <- lm(Y ~ X1 + X2 + X3) # 对比全模型与零模型,获取整体回归的统计量 full_anova <- anova(model, update(model, ~ 1)) regression_row <- full_anova[1, ] # 从原模型的方差分析结果中提取残差统计量 residual_row <- anova(model)[nrow(anova(model)), ] # 组合成目标格式的表格 custom_aov_table <- rbind(regression_row, residual_row) rownames(custom_aov_table) <- c("X1 + X2 + X3", "Residuals") # 输出结果 print(custom_aov_table)
运行后会得到类似如下输出:
Response: Y Df Sum Sq Mean Sq F value Pr(>F) X1 + X2 + X3 5 1892.7 378.54 0.4357 0.8234 Residuals 94 81432.3 866.30
其中的F值和P值由R自动计算生成,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者NM_
相关产品推荐
相关产品推荐

