【问题标题】:Convert dataset from long to wide将数据集从长转换为宽
【发布时间】:2020-08-11 23:37:45
【问题描述】:

我对要转换的数据集有疑问。

看起来像这样:

AreaID  VariableName  Year  Value
  1           Var1    2000   20
  1           Var2    2000   30
  1           Var1    2001   21
  1           Var2    2001   32
  2           Var1    2000   50
  2           Var2    2000   55
....etc.

我希望变量VariableName 是水平的并且看起来像这样

    AreaID  Year  Var1  Var2
      1     2000   20    30
      1     2001   21    32
      2     2000   50    55

....etc.

我更愿意在 Stata 中处理这个问题,但我也对其他程序持开放态度。

【问题讨论】:

    标签: stata


    【解决方案1】:

    这是 Stata 中的标准 reshape。请参阅该命令的帮助和手册条目。

    clear 
    input AreaID  str4 VariableName  Year  Value
      1           Var1    2000   20
      1           Var2    2000   30
      1           Var1    2001   21
      1           Var2    2001   32
      2           Var1    2000   50
      2           Var2    2000   55
    end 
    
    reshape wide Value, i(AreaID Year) j(VariableName) string 
    
    rename (Value*) (*)
    
    list, sepby(AreaID)
    
         +-----------------------------+
         | AreaID   Year   Var1   Var2 |
         |-----------------------------|
      1. |      1   2000     20     30 |
      2. |      1   2001     21     32 |
         |-----------------------------|
      3. |      2   2000     50     55 |
         +-----------------------------
    

    【讨论】:

      猜你喜欢
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 2022-01-22
      相关资源
      最近更新 更多