楼主: 流水今日
2450 6

stata编程遇到的一个问题,实在不会了,求助 [推广有奖]

  • 4关注
  • 1粉丝

已卖:53份资源

本科生

32%

还不是VIP/贵宾

-

威望
0
论坛币
19 个
通用积分
22.5200
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1764 点
帖子
24
精华
0
在线时间
144 小时
注册时间
2011-10-26
最后登录
2025-9-17

楼主
流水今日 在职认证  发表于 2012-6-2 17:45:46 |AI写论文
2论坛币

请教你个问题,我用stata写了这样一个循环,
                       local i=1
  while `i'<=`maxGrp'{
  local j=`i'+1
  while `j'<=`maxGrp'{
  tempvar x_`i'
  replace `x'_`i'=`r'[`i']-`r'[`j']
  nois display in gr %9.3f `x'_`i'
  local j=`j'+1
  
  }local i=`i'+1
  }
想长生循环变量x12,x13,x14.......x23 x24....,并对这些新产生的变量赋值,运行时出现  “variable _1 not found”的提示,请问我的程序哪写错了,谢谢你。。。。。
  

最佳答案

voodoo 查看完整内容

试试: forv i = 1/ `maxGrp' { forv j = `=`i'+1' / `maxGrp' { gen x`i'`j' = r`i' - r`j' } }
关键词:stata编程 Stata tata while Local 编程 replace display local

沙发
voodoo 发表于 2012-6-2 17:45:47
流水今日 发表于 2012-6-2 20:39
我按照voodoo的方法改了,出现的是这样的错误variable __000007 not found。
我想做的是现有r1,r2,r3... ...
试试:
forv i = 1/ `maxGrp' {
   forv j = `=`i'+1' / `maxGrp' {
      gen x`i'`j' = r`i' - r`j'
   }
}

巫毒上传,必属佳品!
坛友下载,三思后行!

藤椅
石瑞 在职认证  发表于 2012-6-2 18:31:50
关注
假如爱有天意!

板凳
voodoo 发表于 2012-6-2 20:14:43
不知你要完成什么任务,但可能replace `x'_`i'=`r'[`i']-`r'[`j']有误,应该是:replace `x_`i'' = ...。下同。
巫毒上传,必属佳品!
坛友下载,三思后行!

报纸
流水今日 在职认证  发表于 2012-6-2 20:32:17
local i=1
                while `i'<=`maxGrp'{
                local j=`i'+1
                while `j'<=`maxGrp'{
                tempvar x_`i'
                replace `x_`i''=`r'[`i']-`r'[`j']
                nois display in gr %9.3f `x_`i''
                local j=`j'+1
               
                }local i=`i'+1
                }

地板
流水今日 在职认证  发表于 2012-6-2 20:39:06
我按照voodoo的方法改了,出现的是这样的错误variable __000007 not found。
我想做的是现有r1,r2,r3....rn个值,我想产生新变量,x12=r1-r2,       x13=r1-r3,    x14=r1-r4  , x1n=r1-rn,  x23=r2-r3.....x2n=r2-rn.....以此类推。

7
流水今日 在职认证  发表于 2012-6-3 10:29:12
我已经改好了,不能用replace,应该用generate,但是我又有个新的问题,我定义这样的变量local x·i'`j',然后怎么用`x'`i'`j'引用不行,那改怎么引用自己定义的这个变量呢,谢谢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 19:01