如何更改ggsurvplot中的小数点分隔符?

5vf7fwbs  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(213)

我想将Kaplan Meier曲线中所有数字(风险表,x和y轴以及p值)的小数点分隔符从“.”改为“,”(例如从3.1415改为3,1415)。对于图,我使用R中生存包中的ggsurvplot。
我在这里找到了一篇文章(Add comma separator to large numbers in risk table),描述了如何通过更改ggsurv对象来为大数字添加“,”-Separator,但我对这个主题的了解不够,无法根据我的目的修改它。
我发现的另一个帖子(R decimal comma instead of decimal point in ggplot scales::percent)建议使用“geom_text”,但这与ggurvplot不兼容,据我所知只与ggplot兼容。
有什么办法可以做到这一点吗?

jum4pzuy

jum4pzuy1#

你引用的answer已经展示了如何做到这一点。但是你必须切换到更通用的scales::number,它允许设置作为decimal.markbig.mark使用的符号。还要注意,ggsurvplot只是一个list,其中ggplot存储为一个名为plot的元素,也就是说,要应用你引用的第二个答案,你必须做一些像ggsurv$plot + geom_text(....)这样的事情。
将@AllanCameron的示例和答案调整为更一般的情况,您可以这样做:

ggsurv$table$layers[[1]]$data$llabels <-
  scales::number(ggsurv$table$layers[[1]]$data$llabels, decimal.mark = ",", big.mark = ".", accuracy = .01)

ggsurv

相关问题