楼主: wangshiqi92
3284 9

[面板数据求助] 关于用Stata把数据(见帖子)转化成面板数据 [推广有奖]

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0.0003
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
105 点
帖子
8
精华
0
在线时间
8 小时
注册时间
2013-4-11
最后登录
2019-9-3

楼主
wangshiqi92 发表于 2013-4-11 08:26:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在已经用reshape把原始数据变成如下样子:
Country    Variable     Year    Value
1                 A            01       123
1                 A            02       456
1                 B            01       789
1                 B            02       012

2                 A            01       345
2                 A            02       678

2                 B            01       901
2                 B            02       234

.......................................
我想把这个数据变成面板数据,也就是:
Country    Year      Variable A          Variable B
1                01          123                   789
1                02          456                  012
2                01          345                  901
2                02           678                 234
请问如何用stata做到这一点呢?
谢谢。   

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata 面板数据 tata Variable Country 数据 面板

本帖被以下文库推荐

沙发
yger 在职认证  发表于 2013-4-11 08:27:53
bang ding!

藤椅
wangshiqi92 发表于 2013-4-11 08:31:21
yger 发表于 2013-4-11 08:27
bang ding!
什么?没看懂。。。

板凳
逍遥梦蝶 发表于 2013-4-11 08:59:35
先保证country和year都是string型变量
gen valueB=.
gen id=country+year
sort id variable
replace valueB=value[_n+1] if id[_n+1]==id[_n]
keep if valueB~=.

报纸
蓝色 发表于 2013-4-11 09:15:48
clear
input ///
Country   str10  Variable     Year    Value
1                 A            01       123
1                 A            02       456
1                 B            01       789
1                 B            02       012
2                 A            01       345
2                 A            02       678
2                 B            01       901
2                 B            02       234
end

reshape wide Value,i(Country Year) j(Variable) str
list
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
海阔天空锦鲤 + 5 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

地板
蓝色 发表于 2013-4-11 09:16:09

. clear

. input ///
> Country   str10  Variable     Year    Value

       Country    Variable       Year      Value
  1. 1                 A            01       123
  2. 1                 A            02       456
  3. 1                 B            01       789
  4. 1                 B            02       012
  5. 2                 A            01       345
  6. 2                 A            02       678
  7. 2                 B            01       901
  8. 2                 B            02       234
  9. end

.
. reshape wide Value,i(Country Year) j(Variable) str
(note: j = A B)

Data                               long   ->   wide
-----------------------------------------------------------------------------
Number of obs.                        8   ->       4
Number of variables                   4   ->       4
j variable (2 values)          Variable   ->   (dropped)
xij variables:
                                  Value   ->   ValueA ValueB
-----------------------------------------------------------------------------

. list

     +----------------------------------+
     | Country   Year   ValueA   ValueB |
     |----------------------------------|
  1. |       1      1      123      789 |
  2. |       1      2      456       12 |
  3. |       2      1      345      901 |
  4. |       2      2      678      234 |
     +----------------------------------+


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

7
wangshiqi92 发表于 2013-4-11 09:32:23
逍遥梦蝶 发表于 2013-4-11 08:59
先保证country和year都是string型变量
gen valueB=.
gen id=country+year
没太看懂,我再研究研究,谢谢啦~

8
wangshiqi92 发表于 2013-4-11 09:34:21
蓝色 发表于 2013-4-11 09:16
. clear

. input ///
谢谢,我去试试!

9
réussite 发表于 2013-4-11 23:55:39
是stata做吧?如果variable 变量不是string 的话,如下
bys country year: gen VariableA=Variable if Variable=="A"
bys country year: gen VariableB=Variable if Variable=="B"
collapse VariableA VariableB by(country year)

试试吧,应该貌似对啊

10
从你的世界路过 发表于 2017-9-23 11:41:09
建议使用Spss的Z标准化来做

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 08:57