Как использовать функцию SUBSTR в SAS (с примерами)

Как использовать функцию SUBSTR в SAS (с примерами)

Вы можете использовать функцию SUBSTR в SAS для извлечения части строки.

Эта функция использует следующий базовый синтаксис:

SUBSTR(Источник, Позиция, N)

куда:

  • Источник : строка для анализа
  • Позиция : начальная позиция для чтения
  • N : количество символов для чтения

Вот четыре наиболее распространенных способа использования этой функции:

Метод 1: извлечение первых N символов из строки

data new_data;
 set original_data;
 first_four = substr (string_variable, 1 , 4 );
run ;

Метод 2: извлечение символов в определенном диапазоне позиций из строки

data new_data;
 set original_data;
 two_through_five = substr (string_variable, 2 , 4 );
run ;

Способ 3: извлечение последних N символов из строки

data new_data;
 set original_data;
 last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;

Способ 4: создать новую переменную, если в строке существуют символы

data new_data;
 set original_data;
 if substr (string_variable, 1 , 4 ) = 'some_string ' then new_var = 'Yes ';
 else new_var = 'No ';
run ;

В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:

/\*create dataset\*/
data original_data;
 input team $1-10;
 datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;

/\*view dataset\*/
proc print data =original_data; 

Пример 1. Извлечение первых N символов из строки

Следующий код показывает, как извлечь первые 4 символа из переменной команды :

/\*create new dataset\*/
data new_data;
 set original_data;
 first_four = substr (team, 1 , 4 );
run ;

/\*view new dataset\*/
proc print data =new_data;

Обратите внимание, что переменная first_four содержит первые четыре символа переменной team .

Пример 2. Извлечение символов в определенном диапазоне позиций из строки

В следующем коде показано, как извлечь символы в позициях со 2 по 5 из переменной команды :

/\*create new dataset\*/
data new_data;
 set original_data;
 two_through_five = substr (team, 2 , 4 );
run ;

/\*view new dataset\*/
proc print data =new_data;

Пример 3. Извлечение последних N символов из строки

Следующий код показывает, как извлечь последние 3 символа из переменной команды :

/\*create new dataset\*/
data new_data;
 set original_data;
 last_three = substr (team, length (team)- 2 , 3 );
run ;

/\*view new dataset\*/
proc print data =new_data; 

Пример 4: Создать новую переменную, если в строке есть символы

В следующем коде показано, как создать новую переменную с именем W_Team , которая принимает значение « да », если первым символом в названии команды является «W», или значение « нет », если первые символы не являются «W».

/\*create new dataset\*/
data new_data;
 set original_data;
 if substr (team, 1 , 1 ) = 'W ' then W_Team = 'Yes ';
 else W_Team = 'No ';
run ;

/\*view new dataset\*/
proc print data =new_data; 

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как нормализовать данные в SAS
Как заменить символы в строке в SAS
Как заменить пропущенные значения нулем в SAS
Как удалить дубликаты в SAS

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.