我正在try 创建下面的摘要,但在创建摘要时,子函数ROUNVAL给出了Tabl1错误,否则Tabl2工作正常.
我不能更改数据,我必须处理NA,所以我应该在函数perc_75中更新什么才能获得TAB1的输出
library(expss)
dat <- data.frame(cc=c("AMB","CCU","DDI","GLL","MNA","KMB","LTI","DDI","GLL","MNA","CCU","AMB","KMB","LTI","DDI","CCU","GLL"),
duration=c(1,NA,66,NA,5,NA,3,1,NA,21,NA,25,NA,17,NA,NA,6),
duration2=c(1,4,66,5,5,11,3,1,6,21,54,25,12,17,9,8,6))
roundval <- function (x)
{
ifelse(round(abs(x - trunc(x)), 1) == 0.5, trunc(x + 0.5),
round(x))
}
perc_75 <- function(x) roundval(quantile(x,type = 6,probs = seq(0,1, 0.25),na.rm = TRUE))[4]
tabl1 <- cross_fun(
dat,
dat$duration,
col_vars = dat$cc,
fun = combine_functions(
`75th Perc` = perc_75,
`Valid N` = valid_n
)
)
tabl2 <- cross_fun(
dat,
dat$duration2,
col_vars = dat$cc,
fun = combine_functions(
`75th Perc` = perc_75,
`Valid N` = valid_n
)
)
下面是我收到的错误
[.data.table
中的错误(RAW_DATA,,FUN(.SD),BY=BY_STRING):
组%2的结果列%1的类型为‘INTEGER’,但应为类型‘Double’.每组的列类型必须一致.