UNIVARIATEプロシジャ

 
OUTPUTステートメント
OUTPUT <OUT=SAS-data-set < keyword1=names ...keywordk=names > < percentile-options >> ;

OUTPUTステートメントは、統計量とBY変数を出力データセットに保存します。BYステートメントを使用する場合、OUT=データセットの各オブザベーションはBYグループのいずれかに対応します。それ以外の場合、OUT=データセットには1つのオブザベーションのみが含まれます。

OUTPUTステートメントは、UNIVARIATEプロシジャ内でいくつでも使用できます。OUTPUTステートメントごとに、そのステートメントで指定した統計量を含む新しいデータセットが作成されます。VARステートメントをOUTPUTステートメントとともに使用する必要があります。OUTPUTステートメントには、キーワード=名前形式の指定またはPCTLPTS=およびPCTLPRE=の指定が含まれている必要があります。例4.7および例4.8を参照してください。

OUT=SAS-data-set

出力データセットを指定します。SAS-data-setが存在しない場合は、PROC UNIVARIATEによって作成されます。OUT=を省略すると、データセットの名前はDATAnになります。nは名前が一意になる最も小さい整数です。

keyword=names

出力データセットに含める統計量を指定し、統計量を格納する新しい変数名を指定します。目的の統計量ごとにキーワードを指定し、その後ろに、等号と、統計量を格納する変数の名前を指定します。出力データセットでは、OUTPUTステートメントのキーワードの後ろのリストの最初の変数にVARステートメントのリストの最初の変数の統計量が格納され、2番目の変数にVARステートメントの2番目の変数の統計量が格納されます。等号の後ろの名前のリストがVARステートメントの変数のリストより短い場合は、VARステートメントのリストの変数の順番で名前が使用されます。使用できるキーワードは次の表のとおりです。

表4.60 記述統計キーワード

キーワード

説明

CSS

修正済み平方和

CV

変動係数

KURTOSIS|KURT

尖度

MAX

最大値

MEAN

標本平均

MIN

最小値

MODE

最も度数の高い値

N

標本サイズ

NMISS

欠損値の数

NOBS

オブザベーションの数

RANGE

range

SKEWNESS|SKEW

歪度

STD | STDDEV

標準偏差

STDMEAN | STDERR

平均の標準誤差

SUM

オブザベーションの合計

SUMWGT

重みの合計

USS

無修正平方和

VAR

variance

表4.61 分位点統計キーワード

キーワード

説明

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)

表4.62 ロバスト統計キーワード

キーワード

説明

GINI

Giniの平均差

MAD

中央絶対偏差

QN

、MADの代替

SN

、MADの代替

STD_GINI

Giniの標準偏差

STD_MAD

MAD標準偏差

STD_QN

標準偏差

STD_QRANGE

四分位範囲標準偏差

STD_SN

標準偏差

表4.63 仮説検定キーワード

キーワード

説明

MSIGN

符号統計量

NORMALTEST

正規性の検定

SIGNRANK

符号付き順位統計量

PROBM

符号検定でのより大きな絶対値の確率

PROBN

正規性の検定の確率値

PROBS

符号付き順位検定の確率値

PROBT

スチューデントの 検定の確率値

T

スチューデントの検定の統計

UNIVARIATEプロシジャは、データの1番目、5番目、10番目、25番目、50番目、75番目、90番目、95番目、99番目のパーセント点を自動的に計算します。keyword=namesの指定を使用して、これらを出力データセットに保存できます。これ以外のパーセント点には、次のpercentile-optionsを使用できます。

PCTLPTS=percentiles

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_P20PostTest_P20PreTest_P40PostTest_P40に保存します。

PCTLPRE=prefixes

PCTLPTS=パーセント点が格納される変数の名前を作成するために、接頭語を1つ以上指定します。複数の分析変数に対して同じパーセント点を保存するには、接頭語のリストを指定します。接頭語の順序は、VARステートメント内の分析変数の順序に対応しています。PCTLPRE=およびPCTLPTS=の両オプションを指定する必要があります。

新しい変数名は、接頭語とパーセント点の値を使用して生成されます。指定されたパーセント点が整数の場合は、接頭語の後ろに値が付いたものがそのまま変数名になります。指定された値が整数以外の場合は、変数名では小数点がアンダースコアに置き換えられ、小数点以下1桁の小数値に切り捨てられます。たとえば、次のステートメントは、Widthの20番目、33.33番目、66.67番目、80番目の各パーセント点の変数pwid20pwid33_3pwid66_6pwid80を作成します。

proc univariate noprint;
   var Width;
   output pctlpts=20 33.33 66.67 80 pctlpre=pwid;
run;

複数の変数のパーセント点を要求する場合は、VARステートメントの変数の出現順と同じ順番で、接頭語をリストする必要があります。接頭語とパーセント点の値を結合してできる名前の長さが32文字を超える場合、変数名が32文字になるように接頭語が切り捨てられます。

PCTLNAME=suffixes

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=オプションの値にこの接尾語を付加して、新しい変数名pltwentypwtwentyおよびphtwentyが作成されます。それぞれ、LengthWidthおよびHeightの20番目のパーセント点が格納されます。2番目のPCTLNAME=接頭語が指定されていないため、LengthWidthおよびHeightの40番目のパーセント点に対する変数名は、接頭語とパーセント点の値を使用して作成されます。つまり、出力データセットには、変数pltwentypl40pwtwentypw40phtwentyph40が含まれます。

PCTLPTS=パーセント点が格納される変数の接頭語名を指定するには、PCTLPRE=を指定する必要があります。

PCTLNAME=値の数がパーセント点の数より少ない場合やPCTLNAME=を省略した場合は、PROC UNIVARIATEはパーセント点を接尾語に使用して、パーセント点を格納する変数の名前を作成します。パーセント点が整数の場合は、パーセント点が使用されます。それ以外の場合は、パーセント点は小数点以下2桁の小数に切り捨てられ、小数点がアンダースコアに置き換えられます。

接頭語と接尾語の組み合わせまたは接頭語とパーセント点の組み合わせが32文字を超える場合は、変数名が32文字になるように接頭語名が切り捨てられます。

PCTLNDEC=value

パーセント点の変数名に取り込まれるパーセント点の値の小数点桁数を指定します。デフォルト値は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;