全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
27292 8
2010-04-03
悬赏 30 个论坛币 已解决
我现有一个大的数据,其中有year, code, type
一个小的数据,其中有year,type,num

想让这两个合并,难点在于如何让小数据根据code的不同自动复制,从而使合并后的数据不会有缺失值

也就是

大数据
year     type      code
1          11         a
2          22         a
3          33         a
1          11         b
2          22         b
3          33         b


小数据为

year     type     num
1          11        123
2           22        231
3           33        132

希望合并之后为
year     type      code      num
1          11         a          123
2          22         a          231
3          33         a          132
1          11         b          123
2          22         b          231
3          33         b          132

最佳答案

ruclaolan 查看完整内容

首先第一部分数据输入stata,命名为data1;然后第二部分数据输入stata,命名为data2;最后用下面的命令行(比如数据放在d:盘): clear cd d: use data1 merge 1:m year using data2 keep if merge==3 save data3 最终data3就是你要的结果
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-3 20:28:45
首先第一部分数据输入stata,命名为data1;然后第二部分数据输入stata,命名为data2;最后用下面的命令行(比如数据放在d:盘):
clear
cd d:
use data1
merge 1:m year using data2
keep if merge==3
save data3

最终data3就是你要的结果
二维码

扫码加我 拉你入群

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

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

2010-4-3 23:18:54
首先第一部分数据命名为a.dta;然后第二部分数据命名为b.dta
在此我不会发图片,只好用文本了,将就着看吧!

. use b.dta,clear
. list
     +-------------------+
     | year   type   num |
     |-------------------|
  1. |    1     11   123 |
  2. |    2     22   231 |
  3. |    3     33   132 |
     +-------------------+

. append using b.dta
. list
     +-------------------+
     | year   type   num |
     |-------------------|
  1. |    1     11   123 |
  2. |    2     22   231 |
  3. |    3     33   132 |
  4. |    1     11   123 |
  5. |    2     22   231 |
     |-------------------|
  6. |    3     33   132 |
     +-------------------+

. merge 1:1 _n using a.dta
    Result                           # of obs.
    -----------------------------------------
    not matched                             0
    matched                                 6  (_merge==3)
    -----------------------------------------

. list
     +----------------------------------------+
     | year   type   num   code        _merge |
     |----------------------------------------|
  1. |    1     11   123      a   matched (3) |
  2. |    2     22   231      a   matched (3) |
  3. |    3     33   132      a   matched (3) |
  4. |    1     11   123      b   matched (3) |
  5. |    2     22   231      b   matched (3) |
     |----------------------------------------|
  6. |    3     33   132      b   matched (3) |
     +----------------------------------------+
二维码

扫码加我 拉你入群

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

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

2010-4-4 15:02:56
2# ruclaolan

出错了,variables year do not uniquely identify observations in the master data
二维码

扫码加我 拉你入群

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

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

2010-4-6 15:54:45
大数据是panel形式,合并前要设定,然后sort,加进去的那个也sort一下
二维码

扫码加我 拉你入群

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

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

2010-5-24 15:39:04
请问bnuwwb同学
variables year do not uniquely identify observations in the master data这个问题怎么解决的。
谢谢!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群