R官员构造列名称和替换的set_header_labels列表

bjg7j2ky  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(130)

officer set_header_labels函数指定一个要打印的名称来替换列名,如下所示。

ft <- set_header_labels(ft,

values = list(萼片长度=“萼片长度”,萼片宽度=“萼片宽度”,花瓣长度=“花瓣长度”,花瓣宽度=“花瓣宽度”)
我想动态地构造列名和替换对。

cols_names <- c("colname1", "colnametitle1")
cols_titles <- c("colname2", "colnametitle2")

我希望这些输出为
值=列表(列名称1 =“列名称标题1”,列名称2 =“列名称标题1”)
对于列名和标题对,这一点非常接近

paste0(cols_names, ' = "', cols_titles, '", "' )

但一定有更简单的方法来操作列表,我还没有弄明白。

ubbxdtey

ubbxdtey1#

不幸的是,paste0将无法工作,因为set_header_labelsvalues参数需要一个命名的list。但是您可以使用setNames来完成此操作。
使用基于iris的最小可重现示例:

library(flextable)

dat <- head(iris[1:2])
names(dat) <- c("colname1", "colname2")

ft <- flextable(dat)

cols_names <- c("colname1", "colname2")
cols_titles <- c("columntitle1", "columntitle2")

values <- setNames(cols_titles, cols_names)

ft <- set_header_labels(ft,
  values = values
)

ft

相关问题