0

我正在使用 table1 包和下面的代码来创建一个表格,其中包含位于闭合单位区间内的三个变量(即 ITE_tech、tech 和 IMR_tech)的特定于区域的描述性统计度量。

library(table1)
table1::label(results19$ITE_tech) <- "TE"
table1::label(results19$tech) <- "TE_k"
table1::label(results19$IMR_tech) <- "MTR"
table1::table1(~ITE_tech + tech + IMR_tech | REGION, data = results19)

如何在结果表中添加另一行,显示每个前面提到的变量取值为 1 的次数?我试图使用下面的代码执行此操作,但此代码仅将 sum 函数应用于第一个变量,并从最终表中排除默认的描述性统计度量(即均值、标准差、最小值、最大值)。

render.continuous.custom <- function(x, ...) {
  attr(x, "label") <- NULL
  c(
    "", 
    "Eff. Obs." = sum(results19$tech==1) 
  )
}

table1::table1(~ITE_tech + tech + IMR_tech | REGION, data = results19, render.continuous = render.continuous.custom)

预先感谢您的帮助。

4

1 回答 1

0

下面是定义渲染函数的方法:

render.continuous.custom <- function(x, ...) {
    y <- render.default(x, ...)
    c(y, "Eff. Obs."=sum(x==1))
}

(注意:一个可重复的例子会很有帮助)

于 2022-01-19T14:50:59.750 回答