楼主: ihust
3400 13

[问答] 剔除缺失值进行运算 [推广有奖]

  • 3关注
  • 2粉丝

已卖:315份资源

博士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
10339 个
通用积分
0.0600
学术水平
2 点
热心指数
3 点
信用等级
2 点
经验
2767 点
帖子
247
精华
0
在线时间
159 小时
注册时间
2012-4-29
最后登录
2016-9-8

楼主
ihust 发表于 2013-1-1 22:13:45 |AI写论文
1论坛币
  1. data a;
  2.         a=1;
  3.         b=2;
  4.         c=.;
  5.         d=4;
  6.         e=a*b*c*d;
  7. run;
复制代码
e的结果为:.

有没有选项,可以对所有非缺失值进行相乘运算。

如果我的数据很多,而且有多个缺失值,又该如何处理?

最佳答案

playmore 查看完整内容

把e=那一行改为如下代码: e=IFN(a EQ .,1,a)*IFN(b EQ .,1,b)*IFN(c EQ .,1,c)*IFN(d EQ .,1,d);
关键词:缺失值 Data 有没有 Run 而且 如何

回帖推荐

erzi_yhj 发表于13楼  查看完整内容

Try this codes below, you can have the product of any amount of variables data temp; input a b c d e f; datalines; 1 2 . 3 4 5 2 3 4 5 6 1 . . 3 4 2 1 3 2 3 . 2 1 ; run; data calculate; set temp; array numb(*) _numeric_; result=1; do i=1 to dim(numb); if numb(i)^=. then result=result*numb(i); end; output; drop i; run;

子洋Charles 发表于3楼  查看完整内容

if c=. then delete;

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

把e=那一行改为如下代码: e=IFN(a EQ .,1,a)*IFN(b EQ .,1,b)*IFN(c EQ .,1,c)*IFN(d EQ .,1,d);

本帖被以下文库推荐

沙发
playmore 发表于 2013-1-1 22:13:46
把e=那一行改为如下代码:

e=IFN(a EQ .,1,a)*IFN(b EQ .,1,b)*IFN(c EQ .,1,c)*IFN(d EQ .,1,d);
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ihust + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

藤椅
子洋Charles 在职认证  发表于 2013-1-1 22:45:54
if c=. then delete;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ihust + 1 + 1 + 1 明白了

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
ihust 发表于 2013-1-1 22:51:17
子洋Charles 发表于 2013-1-1 22:45
if c=. then delete;
这一句添加到哪里?如果我的数据很多,而且有多个缺失值,又该如何处理?

报纸
ihust 发表于 2013-1-2 10:45:36
顶                          

地板
guo.bailing 发表于 2013-1-2 19:13:36
playmore 发表于 2013-1-2 18:42
把e=那一行改为如下代码:

e=IFN(a EQ .,1,a)*IFN(b EQ .,1,b)*IFN(c EQ .,1,c)*IFN(d EQ .,1,d);
不错!
自助者,天助之!

7
ihust 发表于 2013-1-2 19:30:49
playmore 发表于 2013-1-1 22:13
把e=那一行改为如下代码:

e=IFN(a EQ .,1,a)*IFN(b EQ .,1,b)*IFN(c EQ .,1,c)*IFN(d EQ .,1,d);
谢谢!

8
ttklkl 发表于 2013-1-2 20:39:40
if nmiss(a,b,c,d)=0 then e=a*b*c*d;
Stay Hungry. Stay Foolish.

9
ihust 发表于 2013-1-2 20:45:22
ttklkl 发表于 2013-1-2 20:39
if nmiss(a,b,c,d)=0 then e=a*b*c*d;
算出来的结果还是缺失值啊

10
fxf258 发表于 2013-1-2 22:15:28
学习一下,还有更好的办法吗?希望高人来解决!
海象

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

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