如何在 R 的 Openxlsx2 包中将数据透视表数据格式化为行总数的百分比?

How can I format pivot table data as % of Row Totals in R's Openxlsx2 package?

提问人:David Weisser 提问时间:10/28/2023 更新时间:10/28/2023 访问量:43

问:

我通过 R 包 OpenXLSX2 在工作簿中放置一个数据透视表。数据默认为 Sum Count 格式。无论如何,是否可以将数据呈现为 R 的 ROW 总数的百分比。下面是代码片段、输出和首选输出:

法典

wb <- wb %>%
  wb_add_pivot_table(df, sheet = 1,dims = "B10", rows = "data_row", cols = "rating", data = "count")

输出:
enter image description here

首选输出:
enter image description here

可以通过在Excel中右键单击手动完成此操作,如下所示:enter image description here

但是,我需要找到一种方法以编程方式完成此操作。可能吗?

R Excel 数据透视表 OpenXLSX

评论

1赞 Jan Marvin 10/28/2023
还是不可能的
0赞 RYann 10/28/2023
您提供的代码已包含变量 wb。我们的环境中没有 wb。现在,我还是尝试了一下,但我得到了另一种结果(数字不重要,只有格式)。该内容对您有帮助吗?加载并使用以下代码: > s <- table(mtcars$carb,mtcars$gear)[1:4,] rownames(s) <- paste0(“data_row_”,1:nrow(s)) colnames(s) <- c(“above”,“fully”,“partial”) s mytab <- addmargins(s,margin = 2) mytab |> class() mytab[1,] / mytab[1,4] map_df(1:4,~mytab[.,] / mytab[.,4]) |> mutate(across(everything(),~scales::p ercent(.)))tidyverse
1赞 David Weisser 10/28/2023
谢谢你@JanMarvin!我喜欢这个包。巨大的粉丝。我暂时可以用VBA解决这个问题。我在 GitHub 上看到了相关工作。继续努力!

答: 暂无答案