OUTPUTステートメント |
OUTPUTステートメントは、統計量とBY変数を出力データセットに保存します。BYステートメントを使用する場合、OUT=データセットの各オブザベーションはBYグループのいずれかに対応します。それ以外の場合、OUT=データセットには1つのオブザベーションのみが含まれます。
OUTPUTステートメントは、UNIVARIATEプロシジャ内でいくつでも使用できます。OUTPUTステートメントごとに、そのステートメントで指定した統計量を含む新しいデータセットが作成されます。VARステートメントをOUTPUTステートメントとともに使用する必要があります。OUTPUTステートメントには、キーワード=名前形式の指定またはPCTLPTS=およびPCTLPRE=の指定が含まれている必要があります。例4.7および例4.8を参照してください。
出力データセットを指定します。SAS-data-setが存在しない場合は、PROC UNIVARIATEによって作成されます。OUT=を省略すると、データセットの名前はDATAnになります。nは名前が一意になる最も小さい整数です。
出力データセットに含める統計量を指定し、統計量を格納する新しい変数名を指定します。目的の統計量ごとにキーワードを指定し、その後ろに、等号と、統計量を格納する変数の名前を指定します。出力データセットでは、OUTPUTステートメントのキーワードの後ろのリストの最初の変数にVARステートメントのリストの最初の変数の統計量が格納され、2番目の変数にVARステートメントの2番目の変数の統計量が格納されます。等号の後ろの名前のリストがVARステートメントの変数のリストより短い場合は、VARステートメントのリストの変数の順番で名前が使用されます。使用できるキーワードは次の表のとおりです。
キーワード |
説明 |
---|---|
CSS |
修正済み平方和 |
CV |
変動係数 |
KURTOSIS|KURT |
尖度 |
MAX |
最大値 |
MEAN |
標本平均 |
MIN |
最小値 |
MODE |
最も度数の高い値 |
N |
標本サイズ |
NMISS |
欠損値の数 |
NOBS |
オブザベーションの数 |
RANGE |
range |
SKEWNESS|SKEW |
歪度 |
STD | STDDEV |
標準偏差 |
STDMEAN | STDERR |
平均の標準誤差 |
SUM |
オブザベーションの合計 |
SUMWGT |
重みの合計 |
USS |
無修正平方和 |
VAR |
variance |
キーワード |
説明 |
---|---|
P1 |
1番目のパーセント点 |
P5 |
5番目のパーセント点 |
P10 |
10番目のパーセント点 |
Q1 | P25 |
下位四分位点(25番目のパーセント点) |
MEDIAN | Q2 | P50 |
中央値(50番目のパーセント点) |
Q3 | P75 |
上位四分位点(75番目のパーセント点) |
P90 |
90番目のパーセント点 |
P95 |
95番目のパーセント点 |
P99 |
99番目のパーセント点 |
QRANGE |
四分位範囲(Q3~Q1) |
キーワード |
説明 |
---|---|
GINI |
Giniの平均差 |
MAD |
中央絶対偏差 |
QN |
、MADの代替 |
SN |
、MADの代替 |
STD_GINI |
Giniの標準偏差 |
STD_MAD |
MAD標準偏差 |
STD_QN |
標準偏差 |
STD_QRANGE |
四分位範囲標準偏差 |
STD_SN |
標準偏差 |
キーワード |
説明 |
---|---|
MSIGN |
符号統計量 |
NORMALTEST |
正規性の検定 |
SIGNRANK |
符号付き順位統計量 |
PROBM |
符号検定でのより大きな絶対値の確率 |
PROBN |
正規性の検定の確率値 |
PROBS |
符号付き順位検定の確率値 |
PROBT |
スチューデントの 検定の確率値 |
T |
スチューデントの検定の統計 |
UNIVARIATEプロシジャは、データの1番目、5番目、10番目、25番目、50番目、75番目、90番目、95番目、99番目のパーセント点を自動的に計算します。keyword=namesの指定を使用して、これらを出力データセットに保存できます。これ以外のパーセント点には、次のpercentile-optionsを使用できます。
UNIVARIATEプロシジャで自動的に計算されないパーセント点を1つ以上指定します。PCTLPRE=およびPCTLPTS=の両オプションを指定する必要があります。パーセント点は、start TO stop BY increment形式の式で指定できます。startは開始番号、stopは終了番号、incrementは増分値です。PCTLPTS=オプションは、追加のパーセント点を作成してデータセットへ出力します。これらの追加のパーセント点は表示されません。
50番目、95番目、97.5番目、および100番目のパーセント点を計算するには、次のステートメントをサブミットします。
output pctlpre=P_ pctlpts=50,95 to 100 by 2.5;
要求したパーセント点は、PROC UNIVARIATEステートメントのPCTLDEF=オプションで指定した方法に基づいて計算されます。PCTLPRE= (オプションで、PCTLNAME=)を使用して、パーセント点の変数名を指定する必要があります。たとえば、次のステートメントは、分析変数PreTestおよびPostTestの20番目のパーセント点と40番目のパーセント点を格納する、Pctlsという名前の出力データセットを作成します。
proc univariate data=Score; var PreTest PostTest; output out=Pctls pctlpts=20 40 pctlpre=PreTest_ PostTest_ pctlname=P20 P40; run;
PROC UNIVARIATEは、PreTestおよびPostTestの20番目のパーセント点と40番目のパーセント点を、変数PreTest_P20、PostTest_P20、PreTest_P40、PostTest_P40に保存します。
PCTLPTS=パーセント点が格納される変数の名前を作成するために、接頭語を1つ以上指定します。複数の分析変数に対して同じパーセント点を保存するには、接頭語のリストを指定します。接頭語の順序は、VARステートメント内の分析変数の順序に対応しています。PCTLPRE=およびPCTLPTS=の両オプションを指定する必要があります。
新しい変数名は、接頭語とパーセント点の値を使用して生成されます。指定されたパーセント点が整数の場合は、接頭語の後ろに値が付いたものがそのまま変数名になります。指定された値が整数以外の場合は、変数名では小数点がアンダースコアに置き換えられ、小数点以下1桁の小数値に切り捨てられます。たとえば、次のステートメントは、Widthの20番目、33.33番目、66.67番目、80番目の各パーセント点の変数pwid20、pwid33_3、pwid66_6、pwid80を作成します。
proc univariate noprint; var Width; output pctlpts=20 33.33 66.67 80 pctlpre=pwid; run;
複数の変数のパーセント点を要求する場合は、VARステートメントの変数の出現順と同じ順番で、接頭語をリストする必要があります。接頭語とパーセント点の値を結合してできる名前の長さが32文字を超える場合、変数名が32文字になるように接頭語が切り捨てられます。
PCTLPTS=パーセント点が格納される変数の名前を作成するために、接尾語を1つ以上指定します。UNIVARIATEプロシジャは、PCTLPRE=値と接尾語名を組み合わせて変数名を作成します。接尾語名は、要求されたパーセント点に割り当てられます。このため、接尾語名は、PCTLPTS=パーセント点と同じ順序で指定してください。PCTLNAME=オプションで個の接尾語を指定し、PCTLPTS=オプションで個のパーセント点の値を指定したとき、であった場合、最初の個のパーセント点の名前には接尾語が使用され、残りの個のパーセント点にはデフォルト名が使用されます。例えば、次のステートメントを考えます。
proc univariate; var Length Width Height; output pctlpts = 20 40 pctlpre = pl pw ph pctlname = twenty; run;
PCTLNAME=オプションの値twentyは、PCTLPTS=リストの最初のパーセント点に対してのみ使用されます。PCTLPRE=オプションの値にこの接尾語を付加して、新しい変数名pltwenty、pwtwentyおよびphtwentyが作成されます。それぞれ、Length、WidthおよびHeightの20番目のパーセント点が格納されます。2番目のPCTLNAME=接頭語が指定されていないため、Length、WidthおよびHeightの40番目のパーセント点に対する変数名は、接頭語とパーセント点の値を使用して作成されます。つまり、出力データセットには、変数pltwenty、pl40、pwtwenty、pw40、phtwenty、ph40が含まれます。
PCTLPTS=パーセント点が格納される変数の接頭語名を指定するには、PCTLPRE=を指定する必要があります。
PCTLNAME=値の数がパーセント点の数より少ない場合やPCTLNAME=を省略した場合は、PROC UNIVARIATEはパーセント点を接尾語に使用して、パーセント点を格納する変数の名前を作成します。パーセント点が整数の場合は、パーセント点が使用されます。それ以外の場合は、パーセント点は小数点以下2桁の小数に切り捨てられ、小数点がアンダースコアに置き換えられます。
接頭語と接尾語の組み合わせまたは接頭語とパーセント点の組み合わせが32文字を超える場合は、変数名が32文字になるように接頭語名が切り捨てられます。
パーセント点の変数名に取り込まれるパーセント点の値の小数点桁数を指定します。デフォルト値は2です。たとえば、次のステートメントは、パーセント点の変数を1つずつ含む出力データセットを2つ作成します。データセットshortの変数名はpwid85_12になり、データセットlongの変数名はpwid85_125になります。
proc univariate; var width; output out=short pctlpts=85.125 pctlpre=pwid; output out=long pctlpts=85.125 pctlpre=pwid pctlndec=3; run;