我将多个数据帧放入一个列表中,然后将其导出为Excel(.xlsx).

library(openxlsx)
     
listas <- list('Banco geral fevereiro' = dados,
               'Gestações duplas ou triplas' = duplas_triplas,
               'Duplicidade do nome da mãe' = dupl_nomae,
               'menos22s mais1500g' = menos22s_mais1500g,
               '22a27s mais2000g' = e22a27s_mais2000g,
               '28a31s mais2700g' = e28a31s_mais2700g,
               'Mês início PN  x n° de consulta' = mes_prenat,
               'n° consultas PN branco ou ign' = pn_ign,
               'Mês de inicio PN em branco ign' = mes_pn_ign,
               'Tipo de parto em branco' = tp_parto,
               'Tipo de gravidez em branco' = tp_grav,
               'Duração da gestação não informa' = sem_gest,
               "Apgar 1 e 5 em branco" = apgar,
               'Escolaridade da mãe n informada' = escmae,
               'Cesarea assistida por enfermeir' = ces_enf,
               'Parto assistido em branco' = parto_ass,
               'Número de filhos > 13' = fil_13)

geral <- openxlsx::write.xlsx(listas , file = str_c( "Críticas de Setembro_", format( now(), format = "%d-%m-%Y" ), ".xlsx" ), na = "" ) 

我把它放在一个函数里.无论如何,我想像我已经做的那样导出多个工作表的文件,但我想将数据集中在每列中,并为所有行添加边框.这可能吗?

推荐答案

以下是我们如何做到这一点的一种方法: 使用purrr包中的walk2函数,我们迭代Listas中的每个数据帧

  1. 添加一个名为.x(列表中的名称)的新工作表.
  2. 将该 struct 写入工作表.
  3. 计算数据帧中的行数.
  4. 将先前定义的style应用于数据帧中的所有单元格.
library(openxlsx)
library(purrr)
library(ggplot2) # diamonds dataset

# style for borders 
style <- createStyle(border = "TopBottomLeftRight", halign = "center", valign = "center")

# fake list
listas <- list(
  'Banco geral fevereiro' = mtcars,
  'Gestações duplas ou triplas' = iris,
  'Duplicidade do nome da mãe' = diamonds
)
# my workbook
my_wb <- createWorkbook()

walk2(names(listas), listas, ~{
  addWorksheet(my_wb, .x)
  writeData(my_wb, .x, .y)
  nr <- nrow(.y)
  addStyle(my_wb, .x, style, rows = 1:nr+1, cols = 1:ncol(.y), gridExpand = TRUE)
})

saveWorkbook(my_wb, "my_file.xlsx", overwrite = TRUE)

enter image description here

R相关问答推荐

Tidyverse/Djirr为从嵌套列表中提取的列名赋值的解决方案

工作流程_set带有Dplyrr风格的 Select 器,用于 Select 结果和预测因子R

为什么st_join(ob1,ob2,left = True)返回具有比ob1更多功能的sf对象?

如何使用按钮切换轨迹?

使用across,starts_with和ifelse语句变更多个变量

ComplexHEAT:使用COLUMN_SPLIT时忽略COLUMN_ORDER

将一个字符串向量调整为与其他字符串向量完全相同的大小

Geom_Hline将不会出现,而它以前出现了

识别连接的子网(R-igraph)

随机森林的带Shap值的蜂群图

'使用`purrr::pwalk`从嵌套的嵌套框架中的列表列保存ggplots时出现未使用的参数错误

Geom_arcbar()中出错:找不到函数";geom_arcbar";

在R中,如何从一系列具有索引名的变量快速创建数据帧?

为什么函数toTitleCase不能处理english(1),而toupper可以?

访问数据帧中未定义的列时出现R错误

按镜像列值自定义行顺序

使用LAG和dplyr执行计算,以便按行和按组迭代

为什么在POSIXct-times的向量上循环会改变R中的类型?

如何根据顺序/序列从数据框中排除值

R:部分修改矩阵对角线的有效方法