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


Самый простой способ изменить длину символьных переменных в SAS — использовать операторы ALTER TABLE и MODIFY в PROC SQL .

Для этого вы можете использовать следующий базовый синтаксис:

 proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

В этом конкретном примере длина символьной переменной с именем team в наборе данных с именем my_data изменяется на длину 4 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: изменение длины символьной переменной в SAS

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

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;

/*view dataset*/
proc print data =my_data; 

Мы можем использовать PROC CONTENTS для отображения длины каждой переменной в наборе данных:

 /*view length of each variable in dataset*/
proc contents data =my_data;

Последняя таблица результатов показывает длину каждой переменной:

Из этой таблицы мы видим:

  • Переменная Points представляет собой числовую переменную длиной 8.
  • Переменная команды — это символьная переменная длиной 8.

Допустим, мы хотим изменить переменную команды , чтобы она имела длину 4.

Для этого мы можем использовать следующий синтаксис:

 /*change length of team variable to 4*/
proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

Мы можем использовать их, снова используя PROC CONTENTS , чтобы отобразить длину каждой переменной в наборе данных:

 /*view updated length of each variable in dataset*/
proc contents data =my_data;

Последняя таблица результатов показывает длину каждой переменной:

Мы видим, что переменная команды теперь имеет длину 4.

Следует отметить, что ни одно из значений в столбце команды не было усечено, поскольку самое длинное имя команды имело длину 4.

Однако если вы измените длину переменной команды , например, на 3, то последний символ в названиях некоторых команд будет обрезан.

При использовании этого метода в случае усечения не появится предупреждающее сообщение. Поэтому перед использованием этого метода убедитесь, что вы знаете максимальную длину строк в столбце символов.

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *