全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4929 4
2019-07-16
       如图,样本中一共有30个观察值,想要根据第i-1个观察值的大小取值范围计算第i个观察值,不同的取值范围计算公式不同,但是不知为何循环语句总出错,还请各位老师、同学不吝赐教。十分感谢~~ 循环语句出现 weights not allowed
二维码

扫码加我 拉你入群

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

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

全部回复
2019-7-17 00:20:56
local j=i-1
其他部分不知道你的数据,所以无法知道是否有问题。
help dataex上传部分数据,说明清楚问题O(∩_∩)O
二维码

扫码加我 拉你入群

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

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

2019-7-17 09:52:57
ritaing 发表于 2019-7-17 00:20
local j=i-1
其他部分不知道你的数据,所以无法知道是否有问题。
help dataex上传部分数据,说明清楚问题 ...
       谢谢您的回复和耐心指导,下面是我的数据和代码,想把第2个及后面的样本值进行赋值(第一列是第几个样本,第二列是变量),第n个样本的赋值需要根据第n-1个样本值的取值范围代入不同的式子。把命令改成 local j=i-1 好像还是有问题,期待您进一步解答,十分感谢~~
* Example generated by -dataex-. To install: ssc install dataex
clear
input float(t x)
1 .2
2  0
3  0
4  0
5  0
6  0
7  0
8  0
9  0
10  0
11  0
12  0
13  0
14  0
15  0
16  0
17  0
18  0
19  0
20  0
21  0
22  0
23  0
24  0
25  0
26  0
27  0
28  0
29  0
30  0
end

*命令
forvalues i = 2(1)30{
local j = i - 1
  if x[`j'] <0.85{
  replace x[`i'] = 0.8*0.4*(x[`j']+0.1)*(1+1)+0.3
  }
  else if  x[`j'] >= 0.85 &  x[`j'] <1{
  replace x[`i'] = 0.8*0.4*( x[`j']-1)*(1+3)+2+0.8
  }
else if  x[`j'] >=1{
  replace x[`i'] = 0.8*0.4*( x[`j']-1)*(1+1)+2+0.8
  }
}

二维码

扫码加我 拉你入群

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

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

2019-7-17 23:27:07
jxapp_30858 发表于 2019-7-17 09:52
谢谢您的回复和耐心指导,下面是我的数据和代码,想把第2个及后面的样本值进行赋值(第一列是第几 ...
复制代码
二维码

扫码加我 拉你入群

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

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

2019-7-18 10:34:54
ritaing 发表于 2019-7-17 23:27
谢谢您~~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群