Как рассчитать одно и то же число, избегая знака? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть столбец SAS, как показано ниже

-10

20

-30

40

Я хочу сделать столбец похожим на

10

20

30

40

Мне нужно убрать знак и оставить тот же номер. Я не знаю, как это сделать.

Ответы [ 3 ]

2 голосов
/ 06 мая 2019

Вы можете использовать функцию ABS .

Небольшой пример кода:

data begin; 
  input var @@; 
  cards; 
1 1 -1 -1 2 -2 -3 3
; run;

data wanted; 
  set begin; 
  var2= abs(var);
run;

Подробнее о прессе см. документация

РЕДАКТИРОВАТЬ: Если вы имеете дело со строками, вы можете простоудалить строку:

data begin; 
  input var $ @@; 
  cards; 
1 1 -1 -1 2 -2 -3 3
; run;

data wanted; 
  set begin; 
  var2= tranwrd(var, '-', '');
run;

Также документация на TRANWRD

0 голосов
/ 22 мая 2019

Другой способ - создать новую переменную, в которой var2 = sqrt (var ** 2)

0 голосов
/ 08 мая 2019

двумя способами без создания дополнительных переменных:

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;
...