R言語のデータフレームで、1から始まる連番列を追加する方法について解説します。行名に関する操作には、tidyverseパッケージに含まれているtibbleパッケージを使用するのが便利です。ここでは、tibbleパッケージのrownid_to_column()を使用した方法についてお伝えします。

rownid_to_column()の概要

rownid_to_column()は、データフレームに1から始まる連番列を追加するための関数です。しかし、既存の行名が削除されることに注意してください。

rowid_to_column()の使い方

tibble::rownid_to_column()の使い方は次になります。


rowid_to_column(.data, var = "rowid")

rowid_to_column()の引数の意味

.data

データフレームを指定します。

var = “rowid”

行名に使用する列名を指定します。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

解説のために、次のmtcarsデータセットを使用します。


head(mtcars)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

1から始まる連番列を追加する

1から始まる連番列idを追加するには次のようにします。


mtcars |>
  rowid_to_column("id") |>
  head()

  id  mpg cyl disp  hp drat    wt  qsec vs am gear carb
1  1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
2  2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
3  3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
4  4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
5  5 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
6  6 18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
R×tibble::rownid_to_column データフレームに1から始まる連番列を追加する