SAS 9.4如何快速检查所有数据/变量

时间:2017-04-07 07:50:45

标签: sas

很抱歉,我不知道如果之前有任何问题请问这个问题。如果有,请告诉我链接:)

类似于检查是否存在缺失值并且放置' 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;

像这样的东西。

1 个答案:

答案 0 :(得分:0)

您的基本概念应该有效,但看起来语法不太正确。当您创建0,1标志时,您可以按如下方式简化代码(您不需要ifthenelse语句。

这会改变每个人的价值。我不确定你的第二点究竟是什么意思,是说所有价值观都是负数还是正数然后改变它们?如果是这样,这一切都在一行或一列中吗?

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;