井出草平の研究ノート

データフレームにID列を追加する[R]

statisticsglobe.com

サンプルデータを作る。

data <- data.frame(x1 = 15:10,             
                   x2 = letters[1:6],
                   x3 = 4,
                   row.names = LETTERS[16:21])
data

データ。

  x1 x2 x3
P 15  a  4
Q 14  b  4
R 13  c  4
S 12  d  4
T 11  e  4
U 10  f  4

例1:cbind関数とnrow関数を使ってデータフレームにID列を追加する

data1 <- cbind(ID = 1:nrow(data), data)
data1

結果。

  ID x1 x2 x3
P  1 15  a  4
Q  2 14  b  4
R  3 13  c  4
S  4 12  d  4
T  5 11  e  4
U  6 10  f  4

例2:rownamesとnrow関数を使って行名をインデックスIDに変更する場合

data2 <- data 
rownames(data2) <- 1:nrow(data)
data2

結果。

 x1 x2 x3
1 15  a  4
2 14  b  4
3 13  c  4
4 12  d  4
5 11  e  4
6 10  f  4

例3:dplyrパッケージを使ってID列を追加し、行名をインデックスに変更する

library("dplyr")
data3 <- data %>%
  mutate(ID = row_number())
data3

結果。

  x1 x2 x3 ID
P 15  a  4  1
Q 14  b  4  2
R 13  c  4  3
S 12  d  4  4
T 11  e  4  5
U 10  f  4  6