全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
9222 25
2011-08-31
变量有250个观测值,想从第1个观测值开始,计算第1个至第125个观测值的样本标准差,然后再计算第2个到第126个观测值的样本标准差,以此类推,逐次后退一个观测值计算。想了一大半天,实现不了。老板急着要结果。。
非常非常感谢!!!!!在线等。。。
PS:昨天一着急发到SAS版了,两位老大帮忙,发了代码,可惜用不上,angway,在这里,再一次,非常感谢!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-8-31 09:27:32
matlab啊,
假设data存的是250个数据。
for i= 1:125
   compute = data[i:i+125];
   res(i) = std(compute);
end
最后res中的数据就是了。
二维码

扫码加我 拉你入群

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

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

2011-8-31 09:29:53
std是matlab有的函数
二维码

扫码加我 拉你入群

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

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

2011-8-31 09:46:44
老板就是要我用stata算啊,因为前期都是用的stata,悲催。。。
二维码

扫码加我 拉你入群

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

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

2011-8-31 09:48:05
bithuye 发表于 2011-8-31 09:29
std是matlab有的函数
谢谢!!!!因为被要求用stata算,所以。。。用stata的循环能够实现吗?
二维码

扫码加我 拉你入群

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

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

2011-8-31 11:57:26
试试下面的程序:
capture drop sd
gen sd=.
local nloop=250-125+1
forvalue i=1(1)`nloop' {
    qui sum x if _n>=`i' & _n<=125+(`i'-1)
    qui replace sd=r(sd) if _n==`i'
}
list sd if sd!=.
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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