R/Excel/Tableau - 主标题和副标题

R/Excel/Tableau - pivot title and subtitles

我想旋转 table 标题和副标题如下:

     November November December December
Firm On-time  Not      On-time  Not
A    67%      33%      23%      77%
B    100%     0%       50%      50%
     etc etc

于是我得到

Firm Month    status  pct
A    November on-time 67%
A    November Not     33%
A    December on-time 23%
A    December Not     77%
B etc etc

我希望在 Tableau、R 或 Excel

中完成此操作

你能帮帮我吗?

如果之前有人问过这个问题,请指导我,因为我找不到它。

如果输入数据集是标准格式(即唯一的列名,没有"sub-headers"),会容易得多,但我们仍然可以使用tidyverse等工具将其转换为期望的输出]:

library(tidyverse)

df %>%
  rownames_to_column(var = "Firm") %>%
  gather(Month, pct, -Firm) %>%
  mutate(Month = sub('\.\d$', '', Month),
         status = ifelse(Firm == "Firm", pct, NA)) %>%
  fill(status) %>%
  filter(Firm != "Firm") %>%
  arrange(Firm) 

结果:

  Firm    Month  pct  status
1    A November  67% On-time
2    A November  33%     Not
3    A December  23% On-time
4    A December  77%     Not
5    B November 100% On-time
6    B November   0%     Not
7    B December  50% On-time
8    B December  50%     Not

数据:

df = read.table(text="     November November December December
                Firm On-time  Not      On-time  Not
                A    67%      33%      23%      77%
                B    100%     0%       50%      50%", header = TRUE, row.names = 1)