如何在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
相关产品推荐
相关产品推荐

