楼主: 烧伤病房5
4237 7

[面板数据求助] STATA中merge的问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

72%

还不是VIP/贵宾

-

威望
0
论坛币
458 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
268 点
帖子
9
精华
0
在线时间
56 小时
注册时间
2016-8-27
最后登录
2024-8-22

楼主
烧伤病房5 发表于 2017-7-11 21:33:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
目前我有两个数据库,
数据库1                                                                        

NCLASSsic2map_1nclass_into_Nsic2

1

35

0.631578947

1

36

0.315789474

1

37

0.052631579

2

13

0.007017544

2

20

0.043274854

2

21

0.002339181

2

22

0.025730994

2

23

0.030409357

2

24

0.002339181

2

25

0.001169591

2

26

0.281871345

2

28

0.14619883

2

29

0.001169591

2

30

0.056140351

2

31

0.001169591

2

32

0.010526316

2

33

0.002339181

2

34

0.01754386

2

35

0.023391813

2

36

0.057309942

2

37

0.078362573

2

38

0.150877193

2

39

0.026900585

2

48

0.001169591

2

50

0.001169591

2

51

0.007017544

2

53

0.004678363

2

56

0.001169591

2

67

0.003508772

2

73

0.009356725

2

75

0.001169591

2

78

0.001169591

2

79

0.003508772

4

20

0.028436019

4

24

0.018957346

4

25

0.023696682

4

26

0.002369668

4

28

0.17535545

4

29

0.014218009

4

30

0.090047393

4

32

0.026066351




数据库2
year

countryNCLASS

1990

AUS

1

1990

AUS

2

1990

AUS

3

1990

AUS

4

1990

AUS

5

1991

AUS

1

1991

AUS

2

1991

AUS

3

1991

AUS

4

1991

AUS

5

1992

AUS

1

1992

AUS

2

1992

AUS

3

1992

AUS

4

1992

AUS

5

1990

US

1

1990

US

2

1990

US

3

1990

US

4

1991

US

1

1991

US

2

1991

US

3

1991

US

4

1992

US

1

1992

US

2




我希望将两者合并为
year

countryNCLASSsic2

1990

AUS

1

35

1990

AUS

1

36

1990

AUS

1

37

1990

AUS

2

13

1990

AUS

2

20

1990

AUS

2

21

1990

AUS

2

22

1990

AUS

2

23

1990

AUS

2

24

1990

AUS

2

25

1990

AUS

2

26

1990

AUS

2

28

1990

AUS

2

29

1990

AUS

2

30

1990

AUS

2

31

1990

AUS

2

32

1990

AUS

2

33

1990

AUS

2

34

1990

AUS

2

35

1990

AUS

2

36

1990

AUS

2

37

1990

AUS

2

38

1990

AUS

2

39

1990

AUS

2

48

1990

AUS

2

50

1990

AUS

2

51

1990

AUS

2

53

1990

AUS

2

56

1990

AUS

2

67

1990

AUS

2

73

1990

AUS

2

75

1990

AUS

2

78

1990

AUS

2

79

1990

AUS

4

20

1990

AUS

4

24

1990

AUS

4

25

1990

AUS

4

26

1990

AUS

4

28

1990

AUS

4

29

1990

AUS

4

30




但是采用merge m:m 总是会出现问题,即数据变少了很多 应该是SIC损失了,不知道这种情况应该用什么命令可以得出我希望要的结果呢????也希望连老师可以指教。
二维码

扫码加我 拉你入群

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

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


回帖推荐

蓝色 发表于2楼  查看完整内容

那就用 joinby

沙发
蓝色 发表于 2017-7-12 10:02:37
那就用
joinby

  1. use  data1.dta,clear
  2. joinby NCLASS using d:\data2.dta
  3. order year country NCLASS sic2
  4. sort   country year NCLASS sic2
  5. list    in 1/10
复制代码

已有 2 人评分学术水平 热心指数 信用等级 收起 理由
xiaochuo13XY + 1 + 1 + 1 精彩帖子
xddlovejiao1314 + 1 + 1 + 1 精彩帖子

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

藤椅
烧伤病房5 发表于 2017-7-12 11:23:43
蓝色 发表于 2017-7-12 10:02
那就用
joinby
啊啊啊啊啊啊啊啊啊啊!成功了!我本来还打算每个都加上国家年份来个merge country year nclass的

板凳
也是晴天 在职认证  学生认证  发表于 2017-7-12 11:25:54
先打开数据1 ,再merge 1:m NCLASS using 数据2,这样就会自动把数据2的变量根据NCLASS扩展合并到数据1中

报纸
阿柒i7 发表于 2017-7-12 13:41:21
1:m不会损失数据吗?

地板
烧伤病房5 发表于 2017-7-12 13:55:48
也是晴天 发表于 2017-7-12 11:25
先打开数据1 ,再merge 1:m NCLASS using 数据2,这样就会自动把数据2的变量根据NCLASS扩展合并到数据1中
1:m会提示无法操作 因为两个数据库中都有多个相同的nclass

7
南宫姑娘 发表于 2017-7-12 15:26:24
打开数据库2

merge 1:m NCLASS using 数据库1

8
也是晴天 在职认证  学生认证  发表于 2017-7-12 15:28:14
烧伤病房5 发表于 2017-7-12 13:55
1:m会提示无法操作 因为两个数据库中都有多个相同的nclass
应该是m:1我写错了,我说的意思是比如数据1有各个公司不同的数据如财务资料,而数据2里只有一些基本资料如公司产权性质,它是不分年度的,应为各个公司产权性质一般不会变,这时用我说的这种合并方法就行,会自动把基本资料的产权性质扩展到数据1中的每一年。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-23 13:00