Як використовувати функцію 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 символи зі змінної team :

 /*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 змінної team :

 /*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 символи зі змінної team :

 /*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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *