在 R flextable 中使用合并的单元格创建单词表

问题描述

我必须在 R 中创建一个导出到 word 的表,并且应该如下所示:

ex table

如您所见,此表中有多个合并和未合并的单元格。旁注我最终将不得不为 100 名患者这样做。

我正在使用 flextable 和 Markdown,并通过使用 merge_at() 函数合并单元格来合理地接近此表。我的问题是,有没有比我的解决方案更优雅的方法来完成这张表?我对其他软件包持开放态度,但需要留在 R 中。我的代码很少,稍后我会清理标签,这样这不是这里的问题。

我的代码

library(flextable)
library(dplyr)



sampledata <- data.frame(Name = c("Jane Doe"),CCSSID = c("1"),"dob"= c(as.Date(10000,origin = "1970-01-01")),AgeofDX = c(10),cancerDX = c("Hodgkin Lymphoma"),dxdate = c(as.Date(13000,center = c("Hosp"),stringsAsFactors = FALSE)

jane <- filter(sampledata,CCSSID == 1)
#make all character for binding 
jane[] <- sapply(jane,as.character)

jane1 <- jane |> select(1:2) 
colnames(jane1) <- c("var1","var2")
jane2 <- jane |> select(3:4)
colnames(jane2) <- c("var1","var2")
jane3 <- jane |> select(5)
colnames(jane3) <- c("var1")
jane4 <- jane |> select(6)
colnames(jane4) <- c("var1")
jane5 <- jane |> select(7)
colnames(jane5) <- c("var1")


janec <- do.call(bind_rows,list(jane1,jane2,jane3,jane4,jane5
                 ))



flextable(janec)   |>
  merge_at(3,1:2)   |>
  merge_at(4,1:2)   |>
  merge_at(5,1:2)   

flextable

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)