SAS子集數(shù)據(jù)集

2018-12-14 17:18 更新

設(shè)置SAS數(shù)據(jù)集的子設(shè)置意味著通過(guò)選擇較少數(shù)量的變量或較少數(shù)量的觀測(cè)值或同時(shí)選擇較少數(shù)量的觀測(cè)值來(lái)提取數(shù)據(jù)集的一部分。 通過(guò)使用KEEP和DROP語(yǔ)句完成變量的子設(shè)置,使用DELETE語(yǔ)句完成觀察的子設(shè)置。 此外,來(lái)自子設(shè)置操作的結(jié)果數(shù)據(jù)保存在可用于進(jìn)一步分析的新數(shù)據(jù)集中。 子設(shè)置主要用于分析數(shù)據(jù)集的一部分而不使用那些可能與分析不相關(guān)的變量或觀察的目的。

子設(shè)置變量

在這種方法中,我們只從整個(gè)數(shù)據(jù)集中提取很少的變量。

語(yǔ)法

SAS中子設(shè)置變量的基本語(yǔ)法是:

KEEP var1 var2 ... ;
DROP var1 var2 ... ;

以下是所使用的參數(shù)的說(shuō)明:

  • var1var2是數(shù)據(jù)集中需要保留或刪除的變量名

考慮包含組織的員工詳細(xì)信息的以下SAS數(shù)據(jù)集。 如果我們只想從數(shù)據(jù)集中獲取Name和Department值,那么我們可以使用下面的代碼。

DATA Employee; 
  INPUT empid ename $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3 	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
 SET Employee;
 KEEP ename DEPT;
  RUN;
 PROC PRINT DATA=OnlyDept; 
RUN; 

當(dāng)上面的代碼執(zhí)行時(shí),我們得到以下輸出。

通過(guò)刪除不需要的變量可以獲得相同的結(jié)果。 下面的代碼說(shuō)明了這一點(diǎn)。

DATA Employee; 
  INPUT empid ename $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3 	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
 SET Employee;
 DROP empid salary;
  RUN;
 PROC PRINT DATA=OnlyDept; 
RUN; 

子設(shè)置觀察

在這種方法中,我們只從整個(gè)數(shù)據(jù)集中提取少數(shù)觀測(cè)值。

語(yǔ)法

我們使用PROC FREQ來(lái)跟蹤為新數(shù)據(jù)集選擇的觀測(cè)值。

子設(shè)置觀測(cè)的語(yǔ)法是:

  IF Var Condition THEN DELETE ;

以下是所使用的參數(shù)的說(shuō)明:

  • Var是變量的名稱,根據(jù)它的值,將使用指定的條件刪除觀察值。

考慮包含組織的員工詳細(xì)信息的以下SAS數(shù)據(jù)集。 如果我們只想獲得薪水超過(guò)700的員工的數(shù)據(jù),那么我們使用以下代碼。

DATA Employee; 
  INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
 SET Employee;
 IF salary < 700 THEN DELETE;
  RUN;
 PROC PRINT DATA=OnlyDept; 
RUN; 

當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)