3

私は状況に座っており、望ましい結果を達成することができますが、おそらくそれを行うためのより迅速な方法があるかどうか疑問に思っていました.

長い道のりはこのようなものです。

         if ^missing(X) and nmiss(Y,Z) = 2 then Value = X;
    else if ^missing(Y) and nmiss(X,Z) = 2 then Value = Y;
    else if ^missing(Z) and nmiss(X,Y) = 2 then Value = Z;

これは少数の変数では問題ありませんが、さらに多くの変数のリストがある場合はどうなりますか。変数のリストに欠落していない値を別の変数にすばやく割り当てる方法はありますか?

何かのようなもの;

    if ^missing(in(X,Y,Z)) then Value = ^missing.value;

上記のコードが間違っていることはわかっています。これは私の思考プロセスのデモンストレーションにすぎません。どんな助けでも大歓迎です。

4

2 に答える 2

1

それはあなたが説明したものではありませんが、機能を参照してくださいcoalescehttp://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002518172.htm

value = coalesce(x, y, z);

xこれにより、 、yまたはの最初の非欠損値が に代入zされvalueます。

于 2013-07-29T12:34:18.203 に答える