楼主: EricNorthman
3359 3

[编程问题求助] stata循环中的数据处理(用两个变量表示另一变量) [推广有奖]

  • 0关注
  • 0粉丝

高中生

20%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
3.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
229 点
帖子
6
精华
0
在线时间
38 小时
注册时间
2017-12-26
最后登录
2019-4-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求问各位大佬,
我有数据结构如下:
国家代码  产品代码 var1
   1               1          0
   1               3          1
   2               1          1
   2               2          1
   2               3          0
   2               5          1

想写代码表示如下内容,主要用于循环当中:
某个国家的某个产品的var1=1时………………(var1代表比较优势)
有点类似于C语言当中的 var1(国家代码,产品代码)
比如:当2国家的1产品具有比较优势时 表示为var1(2,1)==1
循环语句想表示的意思是:计算同时具有某两者产品比较优势的国家数量

最终想形成一个矩阵(横纵轴都是产品代码)【这个不是主要问题,重点是前面23333】
1 2 3 4 5 6 7
2    n
3
4
中间是求出来的国家数量;比如n就表示同时2产品和3产品都具有比较优势的国家数量
二维码

扫码加我 拉你入群

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

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

关键词:Stata 数据处理 tata 产品比较优势 比较优势 stata 循环 变量设置

沙发
EricNorthman 发表于 2018-11-28 10:34:14 |只看作者 |坛友微信交流群
这个已经解决了,首先把数据结构进行变化,reshape wide
然后写循环,对i,j产品都具有比较优势的变量数个数(local)
最后生成矩阵,把循环结果填进矩阵,再保存矩阵即可

使用道具

藤椅
EricNorthman 发表于 2018-11-28 10:37:02 |只看作者 |坛友微信交流群
  1. reshape wide DUMRCAi,i(good) j(c)
  2. foreach var of varlist DUMRCAi2-DUMRCAi154{
  3. replace `var'=0 if `var'==.
  4. }
  5. set matsize 2000
  6. mat A= J(1262,1262,.)
  7. local i=1
  8. while `i'<=1262{
  9.   local j=1
  10.   local n_`i'_`j'=0
  11.   while `j'<=1262{
  12.   foreach var of varlist DUMRCAi*{
  13.   if `var'[`i']==1&`var'[`j']==1{
  14.   local n_`i'_`j'=`n_`i'_`j''+1
  15. mat A[`i',`j']=`n_`i'_`j''
  16. }
  17. }
  18. local j=`j'+1
  19. }
  20. local i=`i'+1
  21. }
  22. matsave A, dropall replace
复制代码

使用道具

板凳
晓雾晨曦 发表于 2019-12-14 15:26:01 |只看作者 |坛友微信交流群
大佬,你好,请问比如行业从A到S,我想任选两个进行曼特尼检验,stata中如何用循环语句实现呢?

使用道具

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

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

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

GMT+8, 2024-5-5 03:24