我正在努力创造一个灵活的'来自R包的对象" flextable"。我需要在多个列中放置相同的列名。当我把它们放在" col_key"功能中的选项" flextable"我收到"重复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"))
&#13;
这是我收到错误的示例代码。
答案 0 :(得分:1)
就目前而言,flextable不允许重复的列键。但是,可以通过在表顶部添加一行“标题”或一行列标签来达到相同的结果。这些标题可以包含重复的值。
您可以使用“ add_header_row”功能来做到这一点。
这是使用虹膜数据集的基本示例。
ft <- add_header_row(
ft,
values = c("", "length", "width", "length", "width"),
top = FALSE
)
ft <- theme_box(ft)
答案 1 :(得分:0)
我找到了一种解决方法,将字符 \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)