第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)は条件を満たさないので除外されています。