函数huxreg在huxtable包中自动识别数字并将其格式化为number_format = "%.3f"选项中的预定义。我想在我的报告中报告置信区间,并使用CI95:前缀。不幸的是,前缀的数字部分被自动格式化,前缀看起来类似于 of 95.000。
让我们考虑下面的示例:
library(huxtable)
data <- data.frame(y = rnorm(10), x=rnorm(10))
fit <- lm(y ~ x, data)
huxreg(fit,
ci_level = 0.95,
error_pos = "below",
error_format = "CI95: ({conf.low}, {conf.high})" )

有什么方法可以得到CI95的预期吗?我尝试过数字字符转换,但没有成功。谢谢!
发布于 2020-12-31 19:44:48
虽然不是最优的,但您也许可以将, number_format = c("%.3f", "%.3g", "%.3f", "%.3g")添加到huxreg调用中,以具体影响表中CI95行的格式设置(或者将输出保存为对象,然后修改定义这些行格式的属性元素,例如do attr(res, "number_format")[[13]] <- "%.3g"等)。除此之外,我只能考虑以某种方式修改底层的glue转换器,该转换器转换整个字符串,并使所有数值元素都具有相同的格式。
发布于 2021-02-24 12:27:17
另一种方法是将包含函数的列表传递给number_format。
library(huxtable)
library(dplyr)
data <- data.frame(y = rnorm(10), x=rnorm(10))
fit <- lm(y ~ x, data)
leave_95_alone <- function (n) ifelse(n == 95, as.integer(n), sprintf("%.3f", n))
huxreg(fit,
ci_level = 0.95,
error_pos = "below",
error_format = "CI95: ({conf.low}, {conf.high})"
) %>%
set_number_format(c(3,5), 2,
list(leave_95_alone)
)https://stackoverflow.com/questions/65521828
复制相似问题