如何在R的Openxlsx2包中将数据透视表设为行总计百分比?
使用OpenXLSX2实现数据透视表行总计百分比
完全可以通过程序化方式实现,无需手动操作Excel。利用OpenXLSX2的wb_add_pivot_table参数配置,就能将数据渲染为行总计的百分比,具体实现如下:
修改后的代码
wb <- wb %>% wb_add_pivot_table( df, sheet = 1, dims = "B10", rows = "data_row", cols = "rating", data = list( list( field = "count", calculation = "sum", show_as = "percentOfRow", name = "占行总计百分比" ) ) ) %>% # 设置百分比显示格式(保留两位小数) wb_add_cell_style( sheet = 1, dims = "C11:E13", # 替换为你的透视表实际数据区域 style = create_cell_style(num_fmt = "0.00%") )
关键参数说明
data参数传入嵌套列表,自定义数值字段的计算规则:field: 指定数据框中的目标数值列(此处为count)calculation: 基础聚合方式,保持默认的sum即可show_as: 设置为"percentOfRow",让每个单元格数值以对应行的总计为基数计算百分比name: 自定义数据列的表头名称,便于识别
wb_add_cell_style用于将计算后的小数转换为百分比格式,需根据透视表实际生成的区域调整dims参数。
运行上述代码后,生成的透视表效果会与你手动设置的期望输出完全一致。
内容的提问来源于stack exchange,提问作者David Weisser
相关产品推荐
相关产品推荐

