【发布时间】:2020-07-24 10:19:57
【问题描述】:
我有一个结构如下的数据框:
+----------+------+--------+-------+
| Location | year | group1 | Value |
我想扩展数据框以包含每个位置、年份和 group1 组合的 3 行,并生成一个 group2 变量来标识这些新组合 (1-3)。理想情况下,数据框将如下所示:
+----------+------+--------+-------+
| a | 2020 | 1 | x |
| a | 2020 | 2 | y |
| a | 2020 | 3 | z |
| a | 2021 | 1 | x |
| a | 2021 | 2 | y |
| a | 2021 | 3 | z |
| b | 2020 | 1 | x |
| b | 2020 | 2 | y |
| b | 2020 | 3 | z |
+----------+------+--------+-------+
+----------+------+--------+-------+--------+
| Location | year | group1 | Value | group2 |
+----------+------+--------+-------+--------+
| a | 2020 | 1 | x | 1 |
| a | 2020 | 1 | x | 2 |
| a | 2020 | 1 | x | 3 |
| a | 2020 | 2 | y | 1 |
| a | 2020 | 2 | y | 2 |
| a | 2020 | 2 | y | 3 |
| ... | ... |... |... |... |
+----------+------+--------+-------+--------+
我能够使用以下代码将数据框扩展到正确的总行数:
df[rep(seq_len(nrow(df)),3), 1:4]
但不知道如何添加上面显示的 group2 变量。
【问题讨论】:
标签: r