我有人口统计数据,对于一些变量,我想显示平均值 (95% CI) 到目前为止:
> label (demog$Site) = "Site"
> label (demog$Sex) = "Sex"
> label (demog$Age) = "Age (years)"
> label (demog$Temperature) = "Temperature (Celcius)"
> label (demog$MOI) = "MOI"
>
> table1(~Sex + Age + Temperature + MOI | Site, data = demog)
Run Code Online (Sandbox Code Playgroud)
这给了我所有按采样点分层的变量,这就是我想要的。但它报告了每个连续变量的平均值(SD)、中位数[最小、最大]和缺失(除了“性别”之外的所有变量),这是我不想要的。
为了改变显示的内容,我尝试模仿: https: //benjaminrich.github.io/table1/vignettes/table1-examples.html
我做了:
> my.render.cont = function(x) {with(stats.apply.rounding(stats.default(x), digits=2), c("", "Mean (95% CI)"=sprintf("%s (± %s)", MEAN, (MEAN + SD*1.96), (MEAN - SD*1.96))))}
> my.render.cat = function(x) {c("", sapply(stats.default(x), function(y) with(y, sprintf("%d (%0.0f %%)", …Run Code Online (Sandbox Code Playgroud)