[英]Formatting numbers with hugrex function in huxtable
huxtable huxreg
中的huxtable
huxreg 自動識別數字並將其格式化為number_format = "%.3f"
選項中預定義的格式。 我想在我的報告中報告置信區間並使用CI95:前綴。 不幸的是,前綴的數字部分是自動格式化的,前綴看起來像CI95.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? 我嘗試了數字到字符的轉換,但沒有成功。 謝謝!
雖然不是最佳的,但您也許可以在您的huxreg
調用中添加, number_format = c("%.3f", "%.3g", "%.3f", "%.3g")
以特別影響 CI95 行的格式您的表(或將 output 保存為 object ,然后修改定義這些行格式的屬性元素,例如執行attr(res, "number_format")[[13]] <- "%.3g"
等。 )。 除此之外,我只能想到以某種方式修改底層的glue
轉換器,它可以轉換整個字符串並使所有數字元素具有相同的格式。
另一個技巧是將包含 function 的列表傳遞給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)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.