第5章 tidyverse(dplyr)で再現 ・ ノック 74 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[073 - 列名を変える]] ・ 次 → [[075 - 一つの列をベクトルで取り出す]] > [!info] slice() は行番号で行を取り出す動詞です > **`slice()`**(スライス)は、行番号(インデックス)を指定して行を取り出す動詞です。`slice(iris, 1:3)` と書くと1行目から3行目を取り出します。`1:3` は「1から3の連番」という意味です。 > > Rベースでは `iris[1:3, ]` のように `[]` を使って行を取り出していました。`slice()` を使うとパイプと組み合わせやすくなります。なお、条件で行を絞るときは `filter()`、行番号で取り出すときは `slice()` と使い分けます。先頭行を取り出すだけなら `slice_head(n = 3)` という専用の関数もあります。 ## 問題 `iris` の1行目から3行目を `slice()` で取り出してみましょう。 > [!tip] ヒント > `slice(データフレーム, 行番号の範囲)` の形で書きます。連続した行番号は `:` で指定できます。 > [!success]- 回答を見る > ```r > library(dplyr) > slice(iris, 1:3) > ``` > ``` > 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 > ``` > Rベースでは `iris[1:3, ]` と書いていましたが、`slice()` を使うとパイプの流れの中に自然に組み込めます。