如何提取rms::ols模型anova绘图的χ2-df横轴对应数值
提取rms方差分析绘图横轴数值的方法
方法1:直接从方差分析结果对象计算
rms::anova.rms返回的对象默认仅打印部分列,实际已预存绘图所需的卡方统计量,你可以直接提取计算:
# 保存方差分析结果 anova_res <- anova(model) # 计算χ² - df,即绘图横轴数值 x_values <- anova_res[, "Chi-Square"] - anova_res[, "d.f."] # 匹配因子名称,排除最后两行REGRESSION、ERROR即为绘图用数据 names(x_values) <- rownames(anova_res) # 输出结果 x_values
你可以运行colnames(anova_res)查看所有存储的列,验证Chi-Square列的存在。
方法2:直接捕获绘图底层数据
如果你想直接获取绘图渲染时实际使用的数值,可以将基础绘图转为ggplot对象后提取数据:
library(ggplotify) # 转成ggplot对象 gg_p <- as.ggplot(~plot(anova(model))) # 提取第一层(点图层)的数据 point_data <- layer_data(gg_p, 1) # 提取x轴数值 print(point_data$x)
point_data的x列就是对应绘图从上到下各个点的χ² - df值,和图中展示顺序完全一致。
内容的提问来源于stack exchange,提问作者Emman
相关产品推荐
相关产品推荐

