第4章 Rベースで抽出・集計 ・ ノック 44 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[043 - 列を取り出す]] ・ 次 → [[045 - 複数条件で絞る]] > [!info] 条件式でデータを絞り込む > データフレームは `データ[行の条件, 列の条件]` という形で一部を取り出せます。行の条件を書く部分に **条件式** を置くと、「その条件が TRUE になる行だけ」を抽出できます。`==` は「等しい」という意味の比較演算子で、`=` ひとつだけだと代入になってしまうので注意が必要です。列の条件を省略(カンマの右を空欄)すると、すべての列が返ってきます。 ## 問題 `iris` から Species が `"setosa"` の行だけを取り出して、先頭6行を表示してください。 > [!tip] ヒント > `iris[条件式, ]` の形を使います。条件式は `iris$Species == "setosa"` です。Species は文字列ではなく因子型ですが、`==` で文字列と比較しても正しく動作します。 > [!success]- 回答を見る > ```r > head(iris[iris$Species == "setosa", ]) > ``` > ``` > Sepal.Length Sepal.Width Petal.Length Petal.Width Species > 1 5.1 3.5 1.4 0.2 setosa > 2 4.9 3.0 1.4 0.2 setosa > 3 4.7 3.2 1.3 0.2 setosa > 4 4.6 3.1 1.5 0.2 setosa > 5 5.0 3.6 1.4 0.2 setosa > 6 5.4 3.9 1.7 0.4 setosa > ``` > カンマの右に何も書かないことで「すべての列」を残しています。カンマ自体は省略できません。