楼主: aky740162
1506 7

[数据管理求助] 如何按比例拆分数据? [推广有奖]

  • 0关注
  • 1粉丝

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
9174 个
通用积分
45.9967
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1507 点
帖子
188
精华
0
在线时间
140 小时
注册时间
2020-4-8
最后登录
2024-10-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long 商品编码 byte 进出口标识 int 贸易国编码 str21 贸易国名称 byte 注册地编码 str6 注册地名称 long(经营单位所在地 收发货地) byte(第一单位 第二单位) long 金额 str5 IO编码
  5. 98044800 0 306 "爱尔兰"             33 "浙江" 33169 33169 9 1     44 "04004"
  6. 98044800 0 334 "爱沙尼亚"          33 "浙江" 33189 33189 9 1     60 "04005"
  7. 98044800 0 326 "挪威"                33 "浙江" 33079 33079 9 1      3 "04006"
  8. 98044800 1 502 "美国"                41 "河南" 41018 41018 9 0    246 "04007"
  9. 98044800 0 350 "斯洛文尼亚"       33 "浙江" 33039 33039 9 1     70 "04008"
  10. 98044800 1 133 "韩国"                33 "浙江" 33015 33015 9 0   7032 "04009"
  11. 98044800 0 352 "捷克"                33 "浙江" 33079 33079 9 1    123 "04010"
  12. 98044800 1 141 "越南"                45 "广西" 45129 45129 9 .  55717 "04011"
  13. 98044800 0 301 "比利时"             33 "浙江" 33189 33189 9 0    834 "04012"
  14. 98044800 1 116 "日本"                37 "山东" 37029 37029 9 0    585 "04013"
  15. 98044800 0 412 "智利"                33 "浙江" 33189 33189 9 1  17976 "04014"
  16. 98044800 0 352 "捷克"                33 "浙江" 33189 33189 9 1     62 "04015"
  17. 98044800 0 302 "丹麦"                33 "浙江" 33189 33189 9 1    204 "04016"
  18. 98044800 1 141 "越南"                45 "广西" 45129 45129 9 .  73422 "04017"
  19. 98044800 0 106 "缅甸"                53 "云南" 53109 53109 9 .   6806 "04018"
  20. 98044800 0 412 "智利"                33 "浙江" 33079 33079 9 0     45 "04019"
  21. 98044800 1 143 "台澎金马关税区" 33 "浙江" 33015 33015 9 0    490 "04020"
  22. 98044800 0 413 "哥伦比亚"          33 "浙江" 33039 33039 9 1    647 "04021"
  23. 98044800 0 137 "土耳其"             33 "浙江" 33039 33039 9 1   1756 "04022"
  24. 98044800 0 244 "南非"                33 "浙江" 33189 33189 9 1     16 "04023"
  25. 98044800 0 105 "文莱"                33 "浙江" 33039 33039 9 1     30 "04024"
  26. 98044800 0 502 "美国"                33 "浙江" 33079 33079 9 1    924 "04025"
  27. 98044800 1 141 "越南"                31 "上海" 31222 31222 9 0     16 "04026"
  28. 98044800 0 410 "巴西"                33 "浙江" 33079 33079 9 1    258 "04027"
  29. 98044800 0 106 "缅甸"                53 "云南" 53199 53199 9 . 261970 "04028"
  30. 98044800 0 231 "毛里求斯"          33 "浙江" 33039 33039 9 1     31 "04029"
  31. 98044800 0 351 "克罗地亚"          33 "浙江" 33169 33169 9 1     16 "04030"
  32. 98044800 0 141 "越南"                45 "广西" 45119 45119 9 .  59976 "04031"
  33. 98044800 0 141 "越南"                41 "河南" 41018 41018 9 0      4 "04032"
  34. 98044800 1 304 "德国"                44 "广东" 44079 44079 9 0     14 "04033"
  35. 98044800 0 141 "越南"                45 "广西" 45119 45119 9 .  76488 "04034"
  36. end
复制代码

想将商品编码为98044800的商品按照50%04004、50%04032的比例拆分金额,04004和04032是IO编码。例如原数据:
商品编码 IO编码 金额 进出口标识 贸易国代码
98044800 40000 100 0 1
拆分成以下类型:
商品编码 IO编码 金额 进出口标识 贸易国代码
98044800 04004 50 0 1
98044800 04032 50 0 1

请问有方法可以做到吗?

二维码

扫码加我 拉你入群

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

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

关键词:generated generate install example Stall

沙发
黃河泉 在职认证  发表于 2021-4-5 09:07:11 |只看作者 |坛友微信交流群
无法理解你的解说,你的例子跟你的资料 (没用的资料就不要发出来) 有何关系?最好给一个希望结果之样式!

使用道具

藤椅
aky740162 发表于 2021-4-5 11:00:34 |只看作者 |坛友微信交流群
黃河泉 发表于 2021-4-5 09:07
无法理解你的解说,你的例子跟你的资料 (没用的资料就不要发出来) 有何关系?最好给一个希望结果之样式!
您好,例子对资料数据的简化。具体来说,资料中的商品编码是hs8位码,io编码是投入产出部门编码,其实我想做的就是把hs8位码的贸易金额按照一定比例拆解成投入产出部门的贸易金额。例如,将商品编码98044800的贸易金额按照50%、50%的比例分配到04004和04032部门,以资料中的第一行数据为例:
商品编码进出口标识贸易国编码贸易国名称注册地编码注册地名称经营单位所在地收发货地第一单位第二单位金额IO编码
98044800

0

306

爱尔兰

33

浙江331693316991

44

04004
我希望可以得到下面这种结果:
商品编码进出口标识贸易国编码贸易国名称注册地编码注册地名称经营单位所在地收发货地第一单位第二单位金额IO编码
98044800

0

306

爱尔兰

33

浙江331693316991

22

04004
98044800

0

306

爱尔兰

33

浙江331693316991

22

04032


使用道具

板凳
黃河泉 在职认证  发表于 2021-4-5 11:15:04 |只看作者 |坛友微信交流群
aky740162 发表于 2021-4-5 11:00
您好,例子对资料数据的简化。具体来说,资料中的商品编码是hs8位码,io编码是投入产出部门编码,其实我想 ...
"04032部门"是从那边来的?其他的样本 (例如 04005) 要如何分呢?

使用道具

报纸
aky740162 发表于 2021-4-5 11:35:30 |只看作者 |坛友微信交流群
黃河泉 发表于 2021-4-5 11:15
"04032部门"是从那边来的?其他的样本 (例如 04005) 要如何分呢?
资料中现有的hs部门和io部门的对应您其实可以忽略,因为目前这个算是随便给的…我目前想做的就是按照商品编码拆分,只要商品编码是98044800,无论现在资料里写的是对应04004还是04005,都是按照50%、50%的比例分配到04004和04032部门。

使用道具

地板
黃河泉 在职认证  发表于 2021-4-5 12:03:41 |只看作者 |坛友微信交流群
aky740162 发表于 2021-4-5 11:35
资料中现有的hs部门和io部门的对应您其实可以忽略,因为目前这个算是随便给的…我目前想做的就是按照商品 ...
我还看不懂,请看得懂人回答一下吧!

使用道具

7
aky740162 发表于 2021-4-5 12:53:49 |只看作者 |坛友微信交流群
问题已经解决了,用excel解决了拆分过程,再将xls转为dta数据,合并回原数据。

使用道具

8
DΘstinyじò 发表于 2021-4-5 22:49:28 |只看作者 |坛友微信交流群
aky740162 发表于 2021-4-5 12:53
问题已经解决了,用excel解决了拆分过程,再将xls转为dta数据,合并回原数据。
样本不是特别大的时候,把你的现在所有样本复制,粘贴到末尾。然后尝试以下代码。
  1. sort 商品编码-IO编码
  2. replace 金额=金额/2
  3. replace IO编码="04004"  if mod(_n,2)==1
  4. replace IO编码="04032"  if mod(_n,2)==0
复制代码
样本特别的的时候,将现有数据保存,然后append自身,再尝试以上代码。如果没理解错的话。
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
aky740162 + 5 + 2 感谢提供的代码思路!

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

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 03:29