Как извлечь только значения символов из списка смешанных переменных (num + char) в sas - PullRequest
0 голосов
/ 16 марта 2020

В списке переменных есть цифры c, а также значения символов, как я могу получить из него только значения символов в sas. пример данных представлен здесь только в одном списке переменных VAR1, в котором есть значения, например:

123
xyz
457
abc
789
frf
233
gth
...
664
fgd

Мне нужно извлечь только эти символьные значения (ab c, xyz et c) из всего этого данных, как можно мне получить.

Ответы [ 3 ]

0 голосов
/ 16 марта 2020

Вопрос не совсем ясен, однако, если отдельные значения находятся в одном столбце, вы можете использовать VERIFY вместо более сложного PRXMATCH

data have;
input var1 $; datalines;
123
xyz
457
abc
789
frf
233
gth
...
664
fgd
;

data want;
  set have;
  where 0 = verify (trim(var1), '0123456789');
run;

VERIFY

Возвращает позицию первого символа в строке, которой нет в указанных строках данных. ...

Подробности
Функция VERIFY возвращает позицию первого символа в источнике, которого нет ни в одном фрагменте. Если VERIFY находит каждый символ в источнике хотя бы в одном фрагменте, VERIFY возвращает 0.

0 голосов
/ 17 марта 2020

этот код работает нормально для меня: данные хотят; установить есть; если prxmatch ('/ \ d + \ s * $ /', VAR1)> 0, то удалить; работать;

0 голосов
/ 16 марта 2020

Проверьте, можете ли вы использовать это

data _null_;
    var1 = '123, xyz, 456, abc, 789, frf, 233, gth';
    var2 = compbl(compress(var1, '', 'ka'));
    put var2=;
run;

РЕДАКТИРОВАТЬ:

data _null_;
    var1 = '123 xyz 456 abc 789 frf 233 gth
            123 xyz 456 abc 789 frf 233 gth
            123 xyz 456 abc 789 frf 233 gth';
    var2 = compbl(compress(var1, '', 'ka'));
    put var2;
run;
...