Sas-subsetting-data-sets
SAS-データセットのサブセット化
SASデータセットのサブセット化とは、より少ない数の変数またはより少ない数の観測、あるいはその両方を選択することにより、データセットの一部を抽出することを意味します。 変数のサブセット化は KEEP および DROP ステートメントを使用して行われますが、オブザベーションのサブセット設定は DELETE ステートメントを使用して行われます。
また、サブセット化操作の結果のデータは、さらなる分析に使用できる新しいデータセットに保持されます。 サブ設定は、主に、分析に関連しない可能性のある変数や観測値を使用せずに、データセットの一部を分析する目的で使用されます。
変数のサブセット化
この方法では、データセット全体からわずかな変数のみを抽出します。
構文
SASで変数をサブ設定するための基本的な構文は次のとおりです-
KEEP var1 var2 ... ;
DROP var1 var2 ... ;
以下は、使用されるパラメータの説明です-
- var1およびvar2 は、保持または削除する必要があるデータセットの変数名です。
例
組織の従業員の詳細を含む以下のSASデータセットを検討してください。 データセットから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;
上記のコードが実行されると、次の出力が得られます。
不要な変数をドロップしても、同じ結果が得られます。 以下のコードはこれを示しています。
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;
サブセット化観測
この方法では、データセット全体からわずかな観測値のみを抽出します。
構文
PROC FREQを使用して、新しいデータセット用に選択された観測値を追跡します。
観測値を設定するための構文は次のとおりです-
IF Var Condition THEN DELETE ;
以下は、使用されるパラメータの説明です-
- Var は、指定された条件を使用して観測値が削除される値に基づく変数の名前です。
例
組織の従業員の詳細を含む以下のSASデータセットを検討してください。 給与が700を超える従業員のデータを取得するだけの場合は、次のコードを使用します。
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;
上記のコードが実行されると、次の出力が得られます。