繁体   English   中英

R中flextable中的相同列名

[英]Same Column Names in flextable in R

我正在尝试从 R 包“flextable”创建一个“flexable”对象。 我需要在不止一列中放置相同的列名。 当我将它们放在函数“flextable”的“col_key”选项中时,我收到“duplicated col_keys”的错误。 有没有办法解决这个问题?

 a<-c(1:8) b<-c(1:8) c<-c(2:9) d<-c(2:9) A<-flextable(A,col_keys=c("a","b","a","b"))

这是我收到错误的示例代码。

就目前而言,flextable 不允许重复的列键。 但是,您可以通过在表格顶部添加一行“标题”或一行列标签来获得相同的结果。 这些标头可以包含重复的值。

您可以使用“add_header_row”函数执行此操作。

这是使用 iris 数据集的基本示例。

ft <- add_header_row(
  ft, 
  values = c("", "length", "width", "length", "width"), 
  top = FALSE 
)
ft <- theme_box(ft)

https://davidgohel.github.io/flextable/articles/layout.html

我找到了一种解决方法,将字符 \\r 添加到列名以创建唯一的列名:

library(flextable)
A <- matrix(rnorm(8), nrow = 2, ncol = 4)
A <- as.data.frame(A)
col_Names <- c("a","b","a","b")
nb_Col_Names <- length(col_Names)

for(i in 1 : nb_Col_Names)
{
  col_Names[i] <- paste0(col_Names[i], paste0(rep("\r", i), collapse = ""), collapse = "")
}

colnames(A) <- col_Names
tbl_A <- flextable(A)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM