在R中使用table1显示95%的置信区间

问题描述

我有人口统计数据,并且想要显示一些变量以显示平均值(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)

这就是我想要的所有采样点分层的变量。但是它报告了我不想要的每个连续变量(除“性别”以外的所有变量)的均值(SD),中位数[Min,Max]和Missing。

要更改显示内容,我尝试模仿以下内容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 %%)",FREQ,PCT))))}
> strata = c(list(Total=demog),split(demog,demog$Site))

但是当我尝试实际显示表格时

> table1(strata,labels,render.continuous=my.render.cont,render.categorical=my.render.cat)
Error: object of type 'closure' is not subsettable

我不必关心以这种特定方式显示95%CI,我只想显示它们。如果有人能解决错误,那就太好了。如果有人用完全不同的方式在此表中显示平均值(95%CI),那也很好

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...