Как использовать ПЕРВЫЙ. и ПОСЛЕДНИЙ. Переменные в SAS

Как использовать ПЕРВЫЙ. и ПОСЛЕДНИЙ. Переменные в SAS

Вы можете использовать ПЕРВЫЙ. и ПОСЛЕДНИЙ. функции в SAS для определения первого и последнего наблюдения по группе в наборе данных SAS.

Вот что делает каждая функция в двух словах:

  • FIRST.variable_name присваивает значение 1 первому наблюдению в группе и значение 0 каждому другому наблюдению в группе.
  • LAST.variable_name присваивает значение 1 последнему наблюдению в группе и значение 0 каждому другому наблюдению в группе.

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

/\*create dataset\*/
data my_data;
 input team $ points rebounds;
 datalines ;
Mavs 29 10
Mavs 13 6
Mavs 22 5
Mavs 20 9
Spurs 13 9
Spurs 15 10
Spurs 33 8
Spurs 27 11
Rockets 25 8
Rockets 14 4
Rockets 16 7
Rockets 12 4
;
run ;

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

Пример 1: Как использовать FIRST. в САС

Мы можем использовать следующий FIRST. в SAS, чтобы присвоить значение 1 первому наблюдению для каждой команды в наборе данных:

/\*sort dataset by team\*/
proc sort data =my_data;
 by team;
run ;

/\*create new dataset that labels first row for each team\*/
data first_team;
 set my_data;
 by team;
 first_team=first.team;
run ;

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

Обратите внимание, что столбец first_team присваивает первому наблюдению для каждой команды значение 1.Всем остальным значениям присваивается значение 0 .

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

/\*sort dataset by team\*/
proc sort data =my_data;
 by team;
run ;

/\*create new dataset only contains first row for each team\*/
data first_team;
 set my_data;
 by team;
 if first.team;
run ;

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

Обратите внимание, что набор данных содержит только первое наблюдение для каждой команды.

Пример 2: Как использовать LAST. в САС

Мы можем использовать следующий LAST. в SAS, чтобы присвоить значение 1 первому наблюдению для каждой команды в наборе данных:

/\*sort dataset by team\*/
proc sort data =my_data;
 by team;
run ;

/\*create new dataset that labels last row for each team\*/
data last_team;
 set my_data;
 by team;
 last_team=last.team;
run ;

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

Обратите внимание, что в столбце last_team последнему наблюдению для каждой команды присваивается значение 1.Всем остальным значениям присваивается значение 0 .

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

/\*sort dataset by team\*/
proc sort data =my_data;
 by team;
run ;

/\*create new dataset only contains last row for each team\*/
data last_team;
 set my_data;
 by team;
 if last.team;
run ;

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

Обратите внимание, что набор данных содержит только последнее наблюдение для каждой команды.

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

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

Как изменить порядок переменных в SAS
Как пометить переменные в SAS
Как переименовать переменные в SAS

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