楼主: liutian0302
3784 6

[编程问题求助] 循环语句和IF 条件语句求助 [推广有奖]

  • 0关注
  • 10粉丝

本科生

23%

还不是VIP/贵宾

-

威望
0
论坛币
3390 个
通用积分
6.9775
学术水平
20 点
热心指数
24 点
信用等级
10 点
经验
4959 点
帖子
40
精华
0
在线时间
66 小时
注册时间
2011-11-16
最后登录
2023-5-26

3论坛币
各位大神好,第一次用到循环语句,发现措手不及,求指点。
我的目的是这样的:我的县、镇和村都是从1开始编码的,且每个县(镇)对应的镇(村)的数量可能不同,比如镇1可能有4个村,编码1到4,而镇2可能有7个村,编码1到7。我现在想把每个村的全村农户的use1这个变量的值取平均值,并把值赋给该村的每个农户。
我现在写的基础语句是这样的:
gen use1mean=.
local i=1
while `i'<=6{
     local j=1
         while `j'<=3{
              local k=1
                  while `k'<=3{
                       if county==`i' {
                                if township==`j' {
                                    if village == `k'{
                                mean use1
                                replace use1mean=e(cmd)
                                        }
                    }                          
                          
                            }
                           local k=`k'+1
                           }
                local j= `j'+1
                }
local i=`i'+1
}

问题1:这个code现在跑完了之后既不输出结果,也不报错,不知道怎么改了,求指点。
问题2:以上语句只是尝试的基础版,未考虑镇、村数量不同问题,还请大神一并指点。

跪谢!


最佳答案

黃河泉 查看完整内容

如同楼上建议,
关键词:第一次 平均值
沙发
黃河泉 在职认证  发表于 2018-10-19 21:56:37 |只看作者 |坛友微信交流群
如同楼上建议,
  1. bysort county township village: egen use1mean = mean(use1)
复制代码

使用道具

藤椅
qiangli 发表于 2018-10-20 06:38:45 来自手机 |只看作者 |坛友微信交流群
bysort county township village: egen vmean=mean(use1)

没有必要循环

使用道具

板凳
黃河泉 在职认证  发表于 2018-10-20 07:15:46 |只看作者 |坛友微信交流群
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

使用道具

报纸
liutian0302 发表于 2018-10-20 10:02:30 |只看作者 |坛友微信交流群
qiangli 发表于 2018-10-20 06:38
bysort county township village: vmean=mean(use1)

没有必要循环
谢谢大神!看来是我想复杂了。。。您建议的命令跑出来显示unrecognized command:  vmean,用了三楼大神的建议就跑出来了!依然非常非常感谢!

使用道具

地板
liutian0302 发表于 2018-10-20 10:03:21 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-10-20 07:18
如同楼上建议,
谢谢大神建议!妥妥解决了!棒棒的!

使用道具

7
qiangli 发表于 2018-10-20 10:21:35 来自手机 |只看作者 |坛友微信交流群
liutian0302 发表于 2018-10-20 10:02
谢谢大神!看来是我想复杂了。。。您建议的命令跑出来显示unrecognized command:  vmean,用了三楼大神的 ...
漏了egen

使用道具

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

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

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

GMT+8, 2024-4-25 23:11