使用逗号小数分隔符而不是 r 中的点创建函数 my.render.cat
create function my.render.cat with comma decimal separator instead of point in r
我正在尝试使用此代码创建一个函数来获取表 1 的频率和比例
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 输出
有什么建议吗?
我添加了一个使用虹膜数据集和格式的可重现示例 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)
我正在尝试使用此代码创建一个函数来获取表 1 的频率和比例
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 输出
有什么建议吗?
我添加了一个使用虹膜数据集和格式的可重现示例 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)