很抱歉,我不知道如果之前有任何问题请问这个问题。如果有,请告诉我链接:)
类似于检查是否存在缺失值并且放置' 0'到了缺失的值。
data new;
set old;
array change _numeric_;
do over change;
if change = . then change = 0;
end;
run;
我想知道我是否要检查所有数据/变量是否为正:
data new;
set old;
array change _numeric_;
do over change;
if change <= 0 then change = 0;
if change > 0 then change = 1;
end;
run;
但它并没有达到我的预期。我能做什么?
然后,我在想是否有快速的方法来表示所有的数据/变量。即。
data new;
set old;
if _all_ <= 0 then ... = 0;
if _all_ > 0 then ... = 1;
run;
像这样的东西。
答案 0 :(得分:0)
您的基本概念应该有效,但看起来语法不太正确。当您创建0,1标志时,您可以按如下方式简化代码(您不需要if
,then
,else
语句。
这会改变每个人的价值。我不确定你的第二点究竟是什么意思,是说所有价值观都是负数还是正数然后改变它们?如果是这样,这一切都在一行或一列中吗?
data old;
input a b c;
datalines;
-2 3 0
3 5 9
1 0 -5
4 7 -8
;
run;
data new;
set old;
array change{*} _numeric_;
do i = 1 to dim(change);
change{i} = change{i}>0;
end;
drop i;
run;