我的SAS列如下
-10
20
-30
40
我想使列像
10
20
30
40
我需要删除标志并保持相同的编号。我不知道该怎么做。
答案 0 :(得分:2)
您可以使用 ABS 功能。
一小段示例代码:
data begin;
input var @@;
cards;
1 1 -1 -1 2 -2 -3 3
; run;
data wanted;
set begin;
var2= abs(var);
run;
有关腹肌的更多信息,请参见documentation
编辑:如果要处理字符串,则可以删除字符串:
data begin;
input var $ @@;
cards;
1 1 -1 -1 2 -2 -3 3
; run;
data wanted;
set begin;
var2= tranwrd(var, '-', '');
run;
有关TRANWRD的文档
答案 1 :(得分:0)
两种不创建其他变量的方式:
data begin;
input var @@;
cards;
1 1 -1 -1 2 -2 -3 3
; run;
data wanted;
set begin;
var= abs(var);
run;
proc sql noprint;
create table wanted2 as
select abs(var)as var from begin;quit;
答案 2 :(得分:0)
另一种方法是在var2 = sqrt(var ** 2)处创建一个新变量