You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tibble无法对逻辑回归模型结果的数值型值取整的问题求助

解决逻辑回归结果tibble数值保留两位小数的问题

你的问题核心出在列的类型上:从原始tibble的输出能看到,Estimate、Std. Error这些你想处理的列都是<chr>字符型,不是数值型。你用mutate_if(., is.numeric, round2)的时候,is.numeric会判定这些列不符合条件,所以根本不会执行取整操作,自然看不到变化。

解决方案

先把字符型的数值列转换成数值型,再执行保留两位小数的操作,用dplyr可以这样写:

# 定义保留两位小数的函数
round2 <- function(y) {round(y, 2)}

# 加载dplyr包
library(dplyr)

# 转换列类型并取整
clean_result <- fit0.sum %>%
  mutate(across(c(Estimate, `Std. Error`, `z value`, `Pr(>|z|)`), 
                ~ round2(as.numeric(.x))))

如果你的dplyr版本低于1.0.0,用mutate_at替代across:

clean_result <- fit0.sum %>%
  mutate_at(vars(Estimate, `Std. Error`, `z value`, `Pr(>|z|)`), 
            ~ round2(as.numeric(.x)))

补充:仅格式化显示(不修改存储类型)

如果只是想让输出的时候显示两位小数,不想改变列的数值存储类型,可以用sprintf格式化字符串:

display_result <- fit0.sum %>%
  mutate(across(c(Estimate, `Std. Error`, `z value`, `Pr(>|z|)`), 
                ~ sprintf("%.2f", as.numeric(.x))))

这样处理后列还是字符型,但显示的是两位小数,适合生成报告时用。

内容的提问来源于stack exchange,提问作者therickster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 14:15:54