使用函数控制 gt 包中的列宽

Controlling width of column from gt package with a function

我在使用我创建的这个函数控制 gt 表的宽度时遇到了问题。

有什么帮助吗?

cols_fn <- function(data, y){
data %>%
    select(1:4) %>%
    gt() %>%
    gt_theme_espn() %>% cols_width(4 ~ paste0(glue::glue({y}),"px"))

}

cols_fn(mtcars,y = 900)

我收到此错误消息:Error in force(..1) : object 'y' not found

使函数正常工作的一种方法是像这样使用 as.formula

library(gt)
library(gtExtras)
library(dplyr)

cols_fn <- function(data, y) {
  data %>%
    select(1:4) %>%
    gt() %>%
    gt_theme_espn() %>%
    cols_width(as.formula(glue::glue("4~px({y})")))
}

cols_fn(head(mtcars), y = 900)