質問
logical OR( |) を使用した要素ごとの比較を使用して、リスト全体で論理ベクトルを効果的に組み合わせるにはどうすればよいですか。結果は、入力ベクトルと同じ長さの論理ベクトルになります。入力値のいずれかが の場合TRUE、結果はTRUEになります。それ以外の場合、結果は になりFALSEます。
例
同じ長さの論理ベクトルのセットを持つリスト opts があります。
> str(opts)
List of 5
$ option1: logi [1:608247] FALSE FALSE FALSE FALSE FALSE FALSE ...
$ option2: logi [1:608247] FALSE TRUE FALSE TRUE TRUE TRUE ...
$ option3: logi [1:608247] FALSE TRUE FALSE FALSE TRUE FALSE ...
$ option4: logi [1:608247] FALSE FALSE FALSE FALSE FALSE FALSE ...
結果としてこれが欲しい:
logi [1:608247] FALSE TRUE FALSE TRUE TRUE TRUE ...
したがって、結果の最初の値 は、がリストのすべてのベクトルの最初の位置にないFALSEためです。結果の 2 番目の値 は、ベクトルの 2 番目の位置にが2 つ (少なくとも 1 つ)あるためです。 TRUETRUEanyTRUE
matrixからこれを取得する方が良い場合は、データ構造をまたはdata.frameまたは何か他のものに変更しても問題ありませんlapply。