第3章 データフレーム ・ ノック 39 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[038 - 行と列を位置で取り出す]] ・ 次 → [[040 - 新しい列を追加する]]
> [!info] 条件でデータを絞り込む
> 「身長が165cm以上の人だけ見たい」のように、特定の**条件**に合う行だけを取り出す操作はデータ分析の基本中の基本です。Rでは `df[条件式, ]` という形で書きます。
>
> カッコの中の条件式 `df$height > 165` は、各行について「height が165より大きいか」を `TRUE` / `FALSE` のベクトルで返します。それを行番号の位置に入れると、`TRUE` の行だけが選ばれます。`>` は「より大きい」、`>=` は「以上」、`==` は「等しい」(`=` を2つ重ねる)、`!=` は「等しくない」という比較演算子です。
## 問題
データフレーム `df` から身長(`height`)が165より大きい人の行だけを取り出してみましょう。
> [!tip] ヒント
> `df[df$height > 165, ]` という形になります。カンマの後を空欄にすることで列は全部残します。
> [!success]- 回答を見る
> ```r
> df <- data.frame(name = c("佐藤","鈴木","高橋"), height = c(160,172,168), weight = c(55,68,60))
> df[df$height > 165, ]
> ```
> ```
> name height weight
> 2 鈴木 172 68
> 3 高橋 168 60
> ```
> 行番号が `2, 3` になっているのは元のデータフレームでの行番号を保持しているためです。佐藤さん(160cm)は条件を満たさないので除外されています。