2017年5月15日月曜日

My Favorite SAS Functions (3) WHICHN / WHICHC関数


第3回目は、一番お気に入りの WHICHN / WHICHC関数です。
お気に入りすぎて、WHICHN関数使ってる夢みたことあります。



構文


    WHICHN( Y , X1 , X2 , X3 … )


・Yと同じ値がXの何番目に初登場するか返す。
・Yと同じ値がXに無い場合、0を返す。
・Yが欠損値の場合、欠損値を返す。
・引数に数値型の変数または値を指定する場合はWHICHN関数を用いる。
・引数に文字型の変数または値を指定する場合はWHICHC関数を用いる。





以下のように、Y の値が X1~X3 の何個目と同じか知りたいとします。

  Y  
  X1  
  X2  
  X3  
  XNUM  
  bb    aa  bb  cc     2


以下、WHICHC関数を使わない場合(Before)と、使う場合(After)。

Before
  if Y = X1 then XNUM=1;
  else if Y = X2 then XNUM=2;
  else if Y = X3 then XNUM=3;


After
  XNUM = whichc( Y ,X1,X2,X3 );



過去記事でもとりあげてるので、是非読んでみてください。


0 件のコメント:

コメントを投稿