2017-10-03 1 views
-1

私は変数のリストを持っていますa_23 a_24_1 a_24_2 a_24_3 a_24_4 a_24_5 a_24_6 a_24_7 a_24_8他の変数の条件に基づいて変数のセットをループする

変数a_24*の値は、a_23の応答に基づいています。 a_23==1場合、a_24*内の少なくとも1つの変数が1

に等しくなければなりませんそこで私は、私は以下のループを試してみましたa_23==1

場合、値1が含まれていないa_24*変数のいずれかどうかを確認したいです

foreach var of varlist a_24_1* { 
    br a_23 a_24* if a_23==1 & `var' != 1 
} 

しかし、1組の変数に含まれていないすべての変数を返します。しかし、私は、決定変数が1に等しい場合、すべての変数に値1が含まれていない場合のみ必要です。

+0

あなたの宿題はStackoverflowではありません。少なくともいくつかの努力を示してください。何を試しましたか? – svgrafov

+0

varlistのforeach var a_24_1 * { br a_23 a_24 * a_23 == 1& 'var '!= 1 } –

+0

あなたが何かを見逃したように見えます。 Stackoverflowに関するいくつかのガイドラインについては、[ヘルプセンター](https://stackoverflow.com/help)をご覧ください。まず、コードやその他の関連事項をコメントに入れないで、代わりに質問を編集してください。 – svgrafov

答えて

0

データの例とコードは良い考えです。 MCVE:https://stackoverflow.com/help/mcveを参照してください。

私はそれを理解し、中間変数は、ここに役立つだろう:

egen mina_24 = rowmin(a_24_*) 

を最小が0になるようであれば、すべての値が0

注意している場合にのみ、そのあなたのループ

foreach var of varlist a_24_1* { 
    br a_23 a_24* if a_23 == 1 & `var' != 1 
} 

は、単一の変数a_24_1のループです。おそらくforeach行のa24_*を意味します。

関連する問題