问题描述
想象一下,您获得了两个flextable
对象,并且意识到需要将它们水平组合(例如,您需要一个类似于rbind
或bind_rows
的函数,但对于flextable
个对象)。除了标题外,它们具有相同的结构。您知道执行此操作的功能或方式吗?
library(dplyr)
library(flextable)
# Simulate some data
g_A <- expand.grid(x = "A",y = c("A_1","A_2"),z = c("A_1_a","A_1_b","A_2_a","A_2_b"))
g_B <- expand.grid(x = "B",y = c("B_1","B_2"),z = c("B_1_a","B_1_b","B_2_a","B_2_b"))
g <- rbind(g_A,g_B)
n <- 123
set.seed(1)
df <- sample_n(g,n,replace = TRUE)
# Build the table
tmp <- c(table(df$x)[1],table(df$y)[1],table(df$z)[1:2],table(df$y)[2],table(df$z)[3:4],table(df$x)[2],table(df$y)[3],table(df$z)[5:6],table(df$y)[4],table(df$z)[7:8])
my_tab <- data.frame("tmp" = names(tmp),"counts" = tmp,"percentages" = round(tmp/n*100,2))
# Split the table
my_tab_A <- my_tab[1:7,]
my_tab_B <- my_tab[-(1:7),]
# flextable A
ft <- flextable(my_tab_A)
ft <- set_header_labels(ft,tmp = "")
ft <- align(ft,align = "center")
ft <- align(ft,j = 1,align = "left")
ft <- set_caption(ft,"Table A")
ft_A <- ft
# flextable B
ft <- flextable(my_tab_B)
ft <- set_header_labels(ft,"Table B")
ft_B <- ft
我正在寻找的解决方案不能基于与my_tab
一起使用,因为回想起我意识到我想水平组合它们的“后验”。
等待您的见识,
谢谢