簡體   English   中英

在huxtable中使用hugrex function格式化數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM