楼主: xixi221zmw
4604 12

[原创博文] 急问:遇到一个关于计算标准差的难题 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

31%

还不是VIP/贵宾

-

威望
0
论坛币
148 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
199 点
帖子
158
精华
0
在线时间
122 小时
注册时间
2009-2-14
最后登录
2017-6-6

楼主
xixi221zmw 发表于 2011-8-30 20:38:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
变量有250个观测值,想从第1个观测值开始,计算第1个至第125个观测值的样本标准差,然后再计算第2个到第126个观测值的样本标准差,以此类推,逐次后退一个观测值计算。想了一大半天,实现不了。老板急着要结果。。
非常非常感谢!!!!!
二维码

扫码加我 拉你入群

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

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

关键词:标准差 非常感谢 观测值 样本 标准差

回帖推荐

leedx 发表于2楼  查看完整内容

用个循环就可以实现啊~~~下面这段程序供你参考:

本帖被以下文库推荐

沙发
leedx 发表于 2011-8-30 21:14:19
用个循环就可以实现啊~~~下面这段程序供你参考:
  1. %macro std;
  2. %do firstobs=1 %to 126;
  3. %let lastobs=%eval(&firstobs+124);
  4. data dataname;
  5.     set yourdataname(firstobs=&firstobs obs=&lastobs);
  6. run;
  7. proc mean data=dataname;
  8.     var variable_name;
  9.         output std=std&firstobs;
  10. run;
  11. %end;
  12. %mend;
  13. %std;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
yugao1986 发表于 2011-8-30 21:25:57
proc expand 也可以搞定
  1. data test;
  2. retain x;
  3. do i= 1 to 250;
  4. x=round(ranuni(0)*100);
  5. output;end;
  6. run;
  7. proc expand data=test out=out1;
  8.    convert x=y / transformout=(movstd 125);
  9. run;
复制代码
三人行必有我师

板凳
leedx 发表于 2011-8-30 22:34:49
学习了,不错的方法~~~

报纸
xixi221zmw 发表于 2011-8-31 08:58:03
leedx 发表于 2011-8-30 21:14
用个循环就可以实现啊~~~下面这段程序供你参考:
早上一上来就看了回复,心情真是激动啊!!谢谢!!!

地板
xixi221zmw 发表于 2011-8-31 08:58:32
yugao1986 发表于 2011-8-30 21:25
proc expand 也可以搞定
非常谢谢!!!

7
xixi221zmw 发表于 2011-9-1 09:47:44
yugao1986 发表于 2011-8-30 21:25
proc expand 也可以搞定
再请教一个问题:假如有多组,组别SID是字符变量,每组都是250个观测值,每组都作如下的计算——从第1个观测值开始,计算第1个至第125个观测值的样本标准差,然后再计算第2个到第126个观测值的样本标准差,以此类推,逐次后退一个观测值计算。该怎么办?

8
yugao1986 发表于 2011-9-1 09:51:38
xixi221zmw 发表于 2011-9-1 09:47
再请教一个问题:假如有多组,组别SID是字符变量,每组都是250个观测值,每组都作如下的计算——从第1个观 ...
利用多个convert语句,具体参考stat文档,语法类似
三人行必有我师

9
xixi221zmw 发表于 2011-9-1 10:01:50
yugao1986 发表于 2011-9-1 09:51
利用多个convert语句,具体参考stat文档,语法类似
3Q!马上学习。。

10
jingju11 发表于 2011-9-1 11:09:32
PROC EXPAND 应该是正解。
做个data step权当参考。效率还可以:9999个SID,大概2.5百万个观测,用时应在10s之内(我的电脑很慢的)。
京剧
  1. data have;
  2.         drop i j;
  3.         ...
  4. run;
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 21:58