R Stata基于两个变量生成不平衡面板数据

R Stata Generating an unbalanced panel data based on two variables

我有一个结构类似于此示例的数据集:

我想根据变量"year"和"pol_party*"将其转换为面板数据,以便得到:

谢谢!

这可以在 R 中使用 tidyr 包(包含在 tidyverse 中)来完成。

试试这个:

library(tidyverse)
base <- base %>%
  gather(key = "pol_party_columns", value = "pol_party_values", pol_party1:pol_party4) %>%
  select(-pol_party_columns, pol_party = pol_party_values)

首先,您必须将所有列收集到另外两列中。然后,您只需删除第一个并重命名第二个。