1つ以上の変数の値を標準化します。
カテゴリ: | 数学 |
操作: | %SYSCALLマクロステートメントで呼び出されると、CALL STDIZEの引数から引用符が削除されます。詳細については、CALLルーチンと%SYSCALLマクロステートメントを使用するを参照してください。 |
大文字か小文字、またはその両方を使用した値の文字式を指定します。先頭と末尾の空白は無視されます。optionには、次の3つのカテゴリがあります。
制限事項 | 1つの引数で複数のオプションは指定できないため、オプションごとに別々の引数を使用します。 |
ヒント | 文字式は末尾に等符号を付け、その後に数値の定数、変数または式である別の引数を続けることができます。 |
参照項目 | 計算式およびその他の詳細については、SAS/STAT 9.3 User’s GuideのPROC STDIZEを参照してください。CALL STDIZEで使用するオプションは、PROC STDIZEで使用するオプションと同じです。 |
変数の標準化に使用する場所メジャーとスケールメジャーの計算方法を指定します。次の標準化オプションを使用できます。
ABW= | この後に、チューニング定数を指定する数値式である引数が続く必要があります。 |
AGK= | この後に、クラスター内の分散の推定に含めるペアの比例を指定する数値式である引数が続く必要があります。 |
AHUBER= | この後に、チューニング定数を指定する数値式である引数が続く必要があります。 |
AWAVE= | この後に、チューニング定数を指定する数値式である引数が続く必要があります。 |
EUCLEN | ユークリッドの長さを指定します。 |
IQR | 四分位範囲を指定します。 |
L= | この後に、L(p)またはミンコフスキー計量の計算で差が累乗される乗数を指定する1以上の値を指定した数値式である引数が続く必要があります。 |
MAD | 中央値からの平均絶対偏差を指定します。 |
MAXABS | 最大絶対値を指定します。 |
MEAN | 算術平均(平均)を指定します。 |
MEDIAN | ランクに従って順序付けられるデータセットの中間値を指定します。 |
MIDRANGE | 範囲の中間点を指定します。 |
RANGE | 値の範囲を指定します。 |
SPACING= | この後に、スペーシングに含めるデータの比率を指定する数値式である引数が続く必要があります。 |
STD | 標準偏差を指定します。 |
SUM | 数値を加算して得られる結果を指定します。 |
USTD | 無修正平方和に基づき、原点についての標準偏差を指定します。 |
分散の計算に使用する除数を指定します。VARDEFオプションには、次の値を指定できます。
DF | 自由度を指定します。 |
N | オブザベーション数を指定します。デフォルトはDFです。 |
Miscellaneousオプションには、次の値を指定できます。
ADD= | 標準化し、MULT=オプションの値で乗算した後に各値に追加する数値を指定する数値引数がこの後に続きます。デフォルト値は、0です。 |
FUZZ= | この後に、相対的あいまい度を指定する数値引数が続きます。 |
MISSING= | この後に、欠損値のある変数に割り当てる値を指定する数値引数が続きます。 |
MULT= | この後に、標準化後に各値を乗算する数値を指定する数値引数が続きます。デフォルト値は、1です。 |
NORM | 正規分布の標準偏差に対して一貫性が保たれるようにスケール推定量を正規化します。このオプションは、AGK=、IQR、MADおよびSPACING=メソッドにのみ影響します。 |
PSTAT | 場所メジャーとスケールメジャーの値をログに書き込みます。 |
REPLACE | 標準化されたデータの欠損値を値0で置き換えます(この値は標準化前の場所メジャーに対応します)。欠損値を他の値で置き換えるには、MISSING=オプションを参照してください。 |
SNORM | 標準正規分布に対する期待値が約1となるようにスケール推定量を正規化します。このオプションは、SPACING=メソッドにのみ影響します。 |
SASステートメント
|
結果
|
---|---|
retain x 1 y 2 z 3; call stdize(x, y ,z); put x= y= z=; |
x=-1 y=0 z=1 |
retain w 10 x 11 y 12 z 13; call stdize('iqr', w, x, y, z); put w= x= y= z=; |
w=-0.75 x=-0.25 y=0.25 z=0.75 |
retain w . x 1 y 2 z 3; call stdize('range', w, x, y, z); put w= x= y= z=; |
w=. x=0 y=0.5 z=1 |
retain w . x 1 y 2 z 3; call stdize('mult=',10,'missing=', -1,'range', w, x, y, z); put w= x= y= z=; |
w=-1 x=0 y=5 z=10 |