楼主: dhzzjiu
7290 4

[编程问题求助] stata 中多次重复同一操作,可能需要循环语句命令,不懂怎么做 [推广有奖]

  • 2关注
  • 0粉丝

大专生

83%

还不是VIP/贵宾

-

威望
0
论坛币
218 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
349 点
帖子
8
精华
0
在线时间
115 小时
注册时间
2005-9-10
最后登录
2023-4-21

楼主
dhzzjiu 发表于 2017-7-24 18:53:25 |AI写论文
30论坛币

每个地区的第1号店

每个地区的2号店

每个地区总销售值

area_a_1area_b_1area_c_1area_d_1area_e_1………area_i_1area_a_2area_b_2area_c_2area_d_3area_e_2………area_i_2area_aarea_barea_c………area_i
12053225
2464
4436
36472858


[size=14.6667px]stata渣渣,现在求助stata大神!!!现在假设有9个地区a—i,每个地区有两家门店,表格里的数据代表销售值。比如area_a_1表示a地区的1号店的销售值。有两个问题:(1)现在需要在stata中加总每个地区的两个门店的销售值。即gen area_a=area_a_1+area_a_2。我现在想到的就是输入9次gen ,产生对应9个地区总销售值。可是这样效率非常低,而我的实际数据需要有多次这样的加总,因此想知道有没有什么方便快捷的方法不用输入9次,比较快的生成9个新变量。是不是需要用到循环语句命令?我不懂,请教大神!!(2)第二个问题,与第一个类似,对于新生成的总销售值area_a,需要按条件赋值,比如当总销售值小于5时,替换为0.
replace area_a=0 if area_a<5。这个用笨方法也是输入9次,有没有简单的方法可以一次性完成,而不用写9次replace函数?

劳烦大神解答!!不胜感激!


最佳答案

关键词:Stata tata 循环语句 怎么做 求助stata stata 命令 编程问题 循环语句 stata编程

沙发
黃河泉 在职认证  发表于 2017-7-24 18:53:26
请修改
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(area_a_1 area_b_1 area_c_1 area_a_2 area_b_2 area_c_2)
  4. 1 2 0 3 2 2
  5. 2 4 6 4 4 3
  6. 3 6 4 2 8 5
  7. end

  8. foreach i in a b c {
  9.   gen area_`i' = area_`i'_1 + area_`i'_2
  10.   replace area_`i' = 0 if area_`i' < 5
  11. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
dhzzjiu + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
dhzzjiu 发表于 2017-7-24 22:10:16
黃河泉 发表于 2017-7-24 19:15
请修改
啊呀!太有帮助了!真的省了很多时间!非常非常感谢!

板凳
lanoublue 发表于 2020-9-24 19:43:46
特别好的帖子

报纸
伴深二号 发表于 2022-4-11 00:56:35
感谢!很典型的题目,学到了!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-16 16:09