楼主: gavin4403
1175 3

[数据管理求助] 数据合并求助 [推广有奖]

  • 2关注
  • 0粉丝

博士生

33%

还不是VIP/贵宾

-

威望
0
论坛币
640 个
通用积分
30.6300
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
4447 点
帖子
170
精华
0
在线时间
238 小时
注册时间
2007-4-27
最后登录
2024-10-4

楼主
gavin4403 发表于 2016-9-2 15:12:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我的数据集如下
数据集t1
code       kehu   sf
600001   广东     1
600002   广东     1

数据集t2
kehu    sf    xs    year
广东     1     1     2000
广东     1     2     2001
广东     1     3     2002

我的目标数据集是
code        kehu  sf   xs   year
600001    广东   1    1    2000
600001    广东   1    2    2001
600001    广东   1    3    2002
600002    广东   1    1    2000
600002    广东   1    2    2001
600002    广东   1    3    2002

说明——sf的值是后期生成的,当kehu=广东时,sf赋值为1。

但是,我通过如下程序却得不到目标数据集,不知问题出在了哪里,请高手指点。谢谢
我的程序是
use t1,clear
merge m:m sf using t2
从而得到的是
code        kehu  sf   xs   year
600001    广东   1    1    2000
600002    广东   1    2    2001
600002    广东   1    3    2002

不知问题出在哪里?请高手不吝赐教。谢谢。


二维码

扫码加我 拉你入群

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

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

关键词:数据合并 Using Merge year code 广东 程序

沙发
黃河泉 在职认证  发表于 2016-9-2 15:51:54
不是用 merge,应该用 cross:
  1. clear
  2. input code str8 kehu sf
  3. 600001   广东     1
  4. 600002   广东     1
  5. end
  6. save c1.dta, replace

  7. clear
  8. input str8 kehu sf xs year
  9. 广东     1     1     2000
  10. 广东     1     2     2001
  11. 广东     1     3     2002
  12. end
  13. save c2.dta, replace

  14. cross using c1
  15. order code kehu sf xs year
复制代码
已有 1 人评分经验 学术水平 热心指数 收起 理由
Captain-CUI + 20 + 1 + 1 精彩帖子

总评分: 经验 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
gavin4403 发表于 2016-9-2 16:03:58
黃河泉 发表于 2016-9-2 15:51
不是用 merge,应该用 cross:
谢谢。太感谢了。

板凳
黃河泉 在职认证  发表于 2016-9-2 17:10:20
gavin4403 发表于 2016-9-2 16:03
谢谢。太感谢了。
No problem at all.

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

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