第4章 Rベースで抽出・集計 ・ ノック 45 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[044 - 条件で行を絞る]] ・ 次 → [[046 - subset で分かりやすく絞る]] > [!info] 論理演算子 `&` で条件を組み合わせる > 複数の条件を同時に満たす行を絞り込むには **論理演算子 `&`**(アンパサンド)を使います。`&` は「かつ」を意味し、左右どちらの条件も TRUE のときだけ TRUE を返します。たとえば「Species が setosa かつ Sepal.Length が 5.5 より大きい」という条件は `iris$Species == "setosa" & iris$Sepal.Length > 5.5` と書きます。`>` は「より大きい」、`>=` は「以上」です。 ## 問題 `iris` から Species が `"setosa"` で、かつ Sepal.Length が 5.5 より大きい行をすべて表示してください。 > [!tip] ヒント > 前のノックで覚えた `iris[条件, ]` の条件部分を `&` でつなぎます。该当行が少ないので `head()` は不要です。 > [!success]- 回答を見る > ```r > iris[iris$Species == "setosa" & iris$Sepal.Length > 5.5, ] > ``` > ``` > Sepal.Length Sepal.Width Petal.Length Petal.Width Species > 15 5.8 4.0 1.2 0.2 setosa > 16 5.7 4.4 1.5 0.4 setosa > 19 5.7 3.8 1.7 0.3 setosa > ``` > setosa 50個の中で Sepal.Length が 5.5 を超えるのは3行だけです。行番号(15・16・19)は元のデータでの番号がそのまま表示されます。