Jak używać proc transpose w sas (z przykładami)
Możesz użyć PROC TRANSPOSE w SAS-ie, aby szybko transponować zbiór danych z formatu długiego do formatu szerokiego .
Ta funkcja wykorzystuje następującą podstawową składnię:
proc transpose data =long_data out =wide_data;
by var1;
idvar2 ;
var var3;
run ;
Złoto:
- by : Zmienna umieszczana wzdłuż linii
- id : Zmienna do umieszczenia wzdłuż kolumn
- var : Zmienna, której wartości są umieszczane w zbiorze danych
Poniższy przykład pokazuje, jak w praktyce używać PROC TRANSPOSE .
Przykład: Jak używać PROC TRANSPOSE w SAS-ie
Załóżmy, że mamy następujący zbiór danych w długim formacie w SAS-ie:
/*create dataset in long format*/
data long_data;
input team $variable $value;
datalines ;
A Points 88
A Assists 12
A Rebounds 22
B Points 91
B Assists 17
B Rebounds 28
C Points 99
C Assists 24
C Rebounds 30
D Points 94
D Assists 28
D Rebounds 31
;
run ;
/*view dataset*/
proc print data =long_data;
Możemy użyć PROC TRANSPOSE , aby przekonwertować ten zbiór danych z formatu długiego na format szeroki:
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data;
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
Należy pamiętać, że ten zbiór danych zawiera te same informacje, co poprzedni zbiór danych, ale jest po prostu wyświetlany w szerokim formacie.
Domyślnie SAS tworzy zmienną _NAZWA_ , która wskazuje, która zmienna jest używana dla wartości w zbiorze danych.
Możesz użyć instrukcji DROP , aby usunąć tę zmienną podczas korzystania z PROC TRANSPOSE :
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data( drop =_name_);
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
Należy pamiętać, że zmienna _NAME_ została usunięta ze zbioru danych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak korzystać ze podsumowania procedur w SAS-ie
Jak używać Proc Tabulate w SAS-ie
Jak tworzyć tabele częstości w SAS-ie