使用聚集功能从宽格式到长格式

问题描述

假设我们有一个包含六个变量和 id 变量的数据集,如下所示:


id v2019 v2020 v2021 u2019 u2020 u2021

在这种情况下,如果我们使用 Stata,我们可以使用如下所示的“reshape”命令非常轻松地制作这个长表格。

重塑 long v u,i(id) j(year) => id v u

但是,当我使用 tidyr 包中的 gather 函数时,该函数每次只生成三列。

data %>% gather(key = "key,value = "value")

=> id 键值

即gather函数收集“每个”columb,而没有单独的不同变量,例如u和v。

所以我的问题是如何使用r中的gather来模拟stata中reshape的功能

感谢您花时间阅读这个问题。

解决方法

能否先使用 more conventional methods 对数据进行整形,然后再使用 tidyr 包?

代码(和数据)的最小示例将有助于了解哪里出错了。