使用 gather 函数从宽格式到长格式

From wide form to long form using gather function

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


id v2019 v2020 v2021 u2019 u2020 u2021

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

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

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

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

=> id 键值

即收集函数收集“每个”列,而不分离不同的变量,例如 u 和 v。

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

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

您可以使用 more conventional methods 重塑数据然后使用 tidyr 包吗?

您的代码(和数据)的一个最小示例将有助于理解哪里出了问题。