楼主: 17831124623
2656 9

[编程问题求助] stata两次循环语句的问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
65 点
帖子
7
精华
0
在线时间
9 小时
注册时间
2021-4-6
最后登录
2022-5-4

楼主
17831124623 发表于 2021-4-11 14:01:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助各位stata大神,这个题是要分别求每一年各省的教育不均衡情况,我设置的循环总是跑不对,还请大佬指点。以下是 我的数据和显示出错的地方。 微信图片_20210411135857.png 微信图片_20210411135324.png
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 循环语句 不均衡

微信图片_20210411135903.png (13.4 KB)

微信图片_20210411135903.png

沙发
songking 发表于 2021-4-12 14:47:14
给出示例数据

藤椅
17831124623 发表于 2021-4-12 17:34:49
songking 发表于 2021-4-12 14:47
给出示例数据
这是示例数据,谢谢!

板凳
DΘstinyじò 发表于 2021-4-13 00:07:58
  1. //方法一:
  2. //foreach  region of local 后面接一个暂元名称,具体help foreach
  3. use ex3.dta,clear
  4. local year=1999
  5. while `year' < 2012  {
  6.         local region0 ""安徽" "福建" "甘肃" "广东" "广西""
  7.         foreach region of local region0 {
  8.             inequal7 peredu if region=="`region'"
  9.                 return list
  10.         }
  11.         local year=`year'+1
  12. }
  13. //方法二:
  14. //foreach  region in  改为in的时候可以直接+原先的一长串值
  15. use ex3.dta,clear
  16. local year = 1999
  17. while `year' < 2012 {
  18.         foreach region in  "安徽" "福建" "甘肃" "广东" "广西" {
  19.             inequal7 peredu if region=="`region'"
  20.                 return list
  21.         }
  22.         local year=`year'+1
  23. }
  24. //方法三:
  25. //借助runby命令实现inequal7按年度地区分组
  26. //之前return list应该也是要看某一指标吧
  27. //可在自写程序中添加想要的返回值,不然按照之前的满屏幕找?
  28. use ex3.dta,clear
  29. cap program drop mypro
  30. program define mypro
  31.     inequal7 peredu
  32.         //添加需要的指标
  33.         gen ge2 =`r(ge2)'
  34. end
  35. runby mypro,by(year region)
复制代码

不是很了解inequal7这个命令,说得不准确的地方请谅解。(方法三个人理解)
另外,建议用dataex(ssc install dataex)命令贴出示例数据,代码也给出网页代码或者文字形式,而不是图片,这样操作起来方便。

报纸
momingqimiao7 在职认证  学生认证  发表于 2021-4-13 09:21:34
  1. use ex3.dta,clear
  2. local year=1999
  3. while `year'<2012{
  4.         foreach region in 安徽  福建 甘肃 广东 广西 {
  5.                 inequal7 peredu if region=="`region'"
  6.                 return list
  7.         }
  8.         local year=`year'+1
  9. }
复制代码
常用控制变量 https://bbs.pinggu.org/thread-15164021-1-1.html

地板
17831124623 发表于 2021-4-14 11:00:14
DΘstinyじò 发表于 2021-4-13 00:07
不是很了解inequal7这个命令,说得不准确的地方请谅解。(方法三个人理解)
另外,建议用dataex(ssc in ...
您好,我想再请教一下,运行您改正后的代码后只显示运行的代码,并没有出结果,也没有显示红色的错误,请问您知道还可以怎么改吗

7
DΘstinyじò 发表于 2021-4-14 20:26:59 来自手机
17831124623 发表于 2021-4-14 11:00
您好,我想再请教一下,运行您改正后的代码后只显示运行的代码,并没有出结果,也没有显示红色的错误,请 ...
您说的哪部分的代码?之前我下载了数据,运行是出结果的。

8
dlut123 发表于 2021-4-15 00:30:18
17831124623 发表于 2021-4-14 11:00
您好,我想再请教一下,运行您改正后的代码后只显示运行的代码,并没有出结果,也没有显示红色的错误,请 ...
直接选中代码复制、粘贴到do文档内;不要点击 “复制代码” 的方式复制代码

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

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