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