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

如何在R语言中让survfit输出结果显示更多小数位数?

解决survfit结果显示精度问题

当你用survfit()计算生存分析的中位数及置信区间时,默认的打印输出会对数值取整,但实际精确值已经存储在结果对象中,你可以通过以下两种方式获取更精确的结果:

方法一:用summary函数指定输出精度

先将survfit结果存入对象,再用summary()函数并设置digits参数控制小数位数:

# 保存survfit结果
fit <- survfit(Surv(data$TTE, data$event) ~ 1, data = data)
# 指定保留2位小数输出
summary(fit, digits = 2)

执行后,输出的中位数、95%置信区间等数值会显示为保留两位小数的精确值。

方法二:直接提取并格式化数值

如果你需要单独提取这些数值并自定义输出格式,可以直接访问fit对象的内置元素:

fit <- survfit(Surv(data$TTE, data$event) ~ 1, data = data)

# 提取精确的中位数、置信区间上下限
median_val <- fit$quantile[1]
lcl_val <- fit$lower[1]
ucl_val <- fit$upper[1]

# 格式化输出为2位小数
cat(sprintf("中位数: %.2f个月,95%%CI: (%.2f, %.2f)\n", median_val, lcl_val, ucl_val))

补充说明

默认print.survfit()会对结果取整显示,这只是输出格式的问题,函数内部计算的是精确的连续型数值,通过上述方法即可获取并展示你需要的精度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:02:32