如何解决使用逗号小数分隔符而不是 r 中的点创建函数 my.render.cat
我正在尝试使用此代码创建一个函数来获取 table1 的频率和比例
my.render.cat <- function(x) { c("",sapply(stats.default(x),function(y) with(y,sprintf("%d (%0.0f %%)",FREQ,PCT)))) }
但是当我将它应用到函数 table1() 时,我得到的是带有小数点而不是逗号的比例结果。
我试过 options(OutDec= ",")
但没有任何变化
也不要更改 LC NUMERIC 的 Sys.locale。
我也试过 format(table1,decimal.mark=",")
但它不适用于 table1 输出
有什么建议吗?
我使用 iris 数据集和格式化 Sepal.length 添加了一个可重现的示例,以便能够计算比例。
table1::table1(~factor(Sepal.Length) | Species,data = iris,render.categorical=my.render.cat)
解决方法
您可以使用 sub
将 .
替换为 ,
。
library(table1)
my.render.cat <- function(x) {
sub('.',',c("",sapply(stats.default(x),function(y) with(y,sprintf("%d (%0.2f %%)",FREQ,PCT)))),fixed = TRUE)
}
table1(~factor(Sepal.Length) | Species,data = iris,render.categorical=my.render.cat)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。