Jak zmienić nazwy zmiennych w sas-ie (z przykładami)


Możesz użyć funkcji zmiany nazwy , aby zmienić nazwę jednej lub większej liczby zmiennych w zbiorze danych SAS-owym.

Ta funkcja wykorzystuje następującą podstawową składnię:

 data new_data;
    set original_data ( rename =(old_name=new_name));
run ;

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję z następującym zbiorem danych:

 /*create dataset*/
data original_data;
    input xyz;
    datalines ;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run ;

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

Przykład 1: Zmień nazwę zmiennej

Poniższy kod pokazuje, jak zmienić nazwę tylko zmiennej x w zbiorze danych:

 /*rename one variable*/
data new_data;
set original_data ( rename =(x=new_x));
run ;

/*view new dataset*/
proc print data = new_data;

Zauważ, że nazwa x została zmieniona na new_x , ale wszystkie pozostałe nazwy zmiennych pozostały takie same.

Przykład 2: Zmień nazwę wielu zmiennych

Poniższy kod pokazuje, jak zmienić nazwy zmiennych x i y w zestawie danych.

Pamiętaj, że nie musisz wstawiać przecinków pomiędzy nazwami nowych zmiennych.

 /*rename multiple variables*/
data new_data;
    set original_data ( rename =(x=new_x y=new_y));
run ;

/*view new dataset*/
proc print data=new_data; 

Przykład 3: Dodaj przedrostek do wszystkich zmiennych

Poniższy kod pokazuje, jak dodać przedrostek _NEW do wszystkich zmiennych w zbiorze danych:

 /*define prefix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', '_NEW', name)
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add prefix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

Przykład 4: Dodaj przyrostek do wszystkich zmiennych

Poniższy kod pokazuje, jak dodać przyrostek _NEW do wszystkich zmiennych w zbiorze danych:

 /*define suffix to append to each variable*/
proc sql noprint ;
   select cats(name, '=', name, '_NEW')
          into :list
          separated by ' '
          from dictionary.columns
          where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit ;

/*add suffix to each variable in dataset*/
proc datasets library = work;
   modify original_data;
   rename &list;
quit ;

/*view updated dataset*/
proc print data = original_data; 

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak zastąpić brakujące wartości zerem w SAS-ie
Jak usunąć duplikaty w SAS-ie
Jak normalizować dane w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *