全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3339 5
2017-03-22
各位大大,求教在sas中如何将异常值赋值为.,异常值的定义为±3个标准差之外的数值,也就是将异常值变为数值型变量的空值.,自己写了个程序,不知道错在哪里,跑不出来
data c(drop=i);
set b;
array num{*} _numeric_;
do i=1 to dim(num);
if num{i} <= MEAN(num{i}) - 3*STD(num{i}) OR
num{i}>=MEAN(num{i}) + 3* STD(num{i})
then num{i}=. ;
end;
run;

系统报错:STD 函数调用没有足够的参数


谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-22 18:40:34
求大神帮忙,多谢
二维码

扫码加我 拉你入群

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

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

2017-3-22 21:20:31

STD(expression-1, expression-2 [, ...expression-n])



Arguments


expression


specifies any valid expression that evaluates to a numeric value.

Requirement At least two non-null or nonmissing arguments are required. Otherwise, the function returns a null or missing value.  
Data type DOUBLE
See <sql-expression>
FedSQL Expressions.
看看SASHELP你就明白了。
二维码

扫码加我 拉你入群

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

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

2017-3-23 07:50:32
wang1839 发表于 2017-3-22 21:20
STD(expression-1, expression-2 [, ...expression-n])
后来看了一下,发现std是要在proc sql下面用的,本来想着批量把3个标准差以外的值变成缺失值,现在只能一个个来处理了
二维码

扫码加我 拉你入群

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

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

2017-3-23 09:15:14
用ARRAY加PROC MEANS处理可以批量只要生成一个ORDER VAR
二维码

扫码加我 拉你入群

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

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

2017-3-24 09:17:46
了解一下
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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