楼主: 小鳄鱼a
1704 4

求均值 [推广有奖]

  • 6关注
  • 10粉丝

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

20论坛币


想对var1到var8求均值 ,  
规则是,但是有些可能有缺失值,对于存在缺失值的,求均值的时候不进行计算。

如果var1到var8缺失个数大于等于6,那么meanvar就为缺失值



varvar1var2var3var4var5var6var7var8meanvar

2

1

2

3

4

5

6

7

8

3

2

2

1

2

4

2

6

8

9


最佳答案

sas那个石家庄人 查看完整内容

data one; input v1 v2 v3 v4 v5 v6 v7 v8; cards; 1 2 3 4 5 6 7 8 2 . 2 . 1 2 . . . 2 . 6 . 8 . 9 ;;; run; data two; set one; array var {*} v1-v8; count=0; do i =1 to 8; if var{i}=. then count+1; end; if count >=6 then meanvar=.; else meanvar=mean(of v1-v8); run; mean函数会自动忽视缺失的值
关键词:mean VaR 缺失值
data one;
input v1 v2 v3 v4 v5 v6 v7 v8;
cards;
1 2 3 4 5 6 7 8
2 . 2 . 1 2 . .
. 2 . 6 . 8 . 9
;;;
run;
data two;
set one;
array var {*} v1-v8;
count=0;
do i =1 to 8;
if var{i}=. then count+1;
end;
if count >=6 then meanvar=.;
else meanvar=mean(of v1-v8);
run;

mean函数会自动忽视缺失的值

使用道具

藤椅
小鳄鱼a 发表于 2015-6-7 11:46:20 |只看作者 |坛友微信交流群
sas那个石家庄人 发表于 2015-6-7 11:02
data one;
input v1 v2 v3 v4 v5 v6 v7 v8;
cards;
哦    我以为有一个缺省那么函数返回值就是缺省的  
那如果用括号  加法  然后再求平均    结果应该是缺失的吧

使用道具

小鳄鱼a 发表于 2015-6-7 11:46
哦    我以为有一个缺省那么函数返回值就是缺省的  
那如果用括号  加法  然后再求平均    结果应该是缺 ...
直接用加法的话 由于有缺失值的存在 加出来的总值也会变成缺失

如果想算全部的 可以用 sum(of v1-v8)/dim(var)
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
小鳄鱼a + 5 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

报纸
janus0802 发表于 2015-6-11 17:32:48 |只看作者 |坛友微信交流群

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 04:34