【发布时间】:2021-01-09 07:10:07
【问题描述】:
我有一个如下所示的数据框:
+---------+---------+------+------+
| Date | Channel | Var1 | Var2 |
+---------+---------+------+------+
| 2020-01 | Disney | 100 | 10 |
+---------+---------+------+------+
| 2020-02 | Disney | 200 | 20 |
+---------+---------+------+------+
| 2020-03 | Disney | 300 | 30 |
+---------+---------+------+------+
| 2020-04 | Disney | 400 | 40 |
+---------+---------+------+------+
| 2020-05 | Disney | 500 | 50 |
+---------+---------+------+------+
| 2020-06 | Disney | 600 | 60 |
+---------+---------+------+------+
| 2020-07 | Disney | 700 | 70 |
+---------+---------+------+------+
| 2020-08 | Disney | 800 | 80 |
+---------+---------+------+------+
| 2020-09 | Disney | 900 | 90 |
+---------+---------+------+------+
| 2020-10 | Disney | 1000 | 100 |
+---------+---------+------+------+
| 2020-11 | Disney | 1100 | 110 |
+---------+---------+------+------+
| 2020-12 | Disney | 1200 | 120 |
+---------+---------+------+------+
我想将pivot_wider 应用于Date 列,以便数据框最终看起来像这样:
+---------+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Channel | Variable | 2020-01 | 2020-02 | 2020-03 | 2020-04 | 2020-05 | 2020-06 | 2020-07 | 2020-08 | 2020-09 | 2020-10 | 2020-11 | 2020-12 |
+---------+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Disney | Var1 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 | 1100 | 1200 |
+---------+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Disney | Var2 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 110 | 12O |
+---------+----------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
我尝试过这样的事情:
data %>% pivot_wider(names_from = Date, values_from = c(Channel, Var1, Var2))
但它没有产生所需的数据输出。
我想知道使用 tidyverse 转换此表的优雅方法是什么?
非常感谢您的帮助!
【问题讨论】:
标签: r dplyr pivot-table tidyverse