持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情 STATA小白入门第10讲: 使用“reshape”实现长宽数据的转化 大家好呀,本次内容也是我最近在学习STATA中新学习到的知识,觉得很有用就和大家分享一下,叫做长宽数据的转化。有时候当我们拿到一份数据时,如果数据原本的形式不适合我们目标的分析,或者另一种其他的形式更加方便于我们的分析,那么我们需要对数据的形式进行转化,常见的方式包括宽数据转化为长数据,以及长数据转换为宽数据。把竖着的列的数据变成横向的行变量的转化为长数据转化为宽数据,因为这样会增大列数。把横着的行变量转化为竖着的列数据为宽数据转化为长数据,因为这样会使行数变多。上述两种数据的转换方法都可以用“reshape”命令进行实现。
1.长数据转换为宽数据 命令形式:
reshape wide 要进行转换的主变量,i(作为ID的变量)j(在长数据中存在但在宽数据中不存在的变量名)
2.宽数据转换为长数据命令形式:
reshape long 要进行转换的主变量,i(作为ID的变量)j(在宽数据中存在但在长数据中不存在的变量名)
长数据
| i | j | 要进行转换的主变量 |
|---|---|---|
| 1 | 1 | 2 |
| 1 | 2 | 3 |
| 2 | 1 | 4 |
| 2 | 2 | 5 |
宽数据
| i | 转换的变量(j=1) | 转换的变量(j=2) |
|---|---|---|
| 1 | 2 | 3 |
| 2 | 4 | 5 |
举例:比如i是城市分类(1=北京,2=上海),j是年份(1=2021,2=2022),要进行转换的主变量是GDP,那么本例中由长数据变为宽数据后呈现的形式为列变量为2021和2022年的GDP,行变量为两个城市。
| i | GDP(2021) | GDP(2022) |
|---|---|---|
| 北京 | ||
| 上海 |