R でデータ フレーム列をインデックスとして設定する方法 (例あり)
R のデータフレームには、パンダのデータフレームのような「インデックス」列がありません。
ただし、R のデータ フレームには行名があり、インデックス列と同じように機能します。
次のいずれかの方法を使用して、既存のデータ フレーム列を R のデータ フレームの行名として設定できます。
方法 1: Base R を使用して行名を設定する
#set specific column as row names rownames(df) <- df$my_column #remove original column from data frame df$my_column <- NULL
方法 2: Tidyverse パッケージを使用して行名を設定する
library (tidyverse) #set specific column as row names df <- df %>% column_to_rownames(., var = ' my_column ')
方法 3: データのインポート時に行名を設定する
#import CSV file and specify column to use as row names df <- read. csv (' my_data.csv ', row.names =' my_column ')
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: Base R を使用して行名を定義する
R に次のデータ フレームがあるとします。
#create data frame
df <- data. frame (ID=c(101, 102, 103, 104, 105),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data frame
df
ID points assists rebounds
1 101 99 33 30
2 102 90 28 28
3 103 86 31 24
4 104 88 39 24
5 105 95 34 28
次のコードを使用して、ID 列を行名として設定できます。
#set ID column as row names
rownames(df) <- df$ID
#remove original ID column from data frame
df$ID <- NULL
#view updated data frame
df
points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28
ID 列の値がデータ フレームの行名になります。
例 2: Tidyverse パッケージを使用して行名を設定する
次のコードは、 spiceverseパッケージのcolumn_to_rownames()関数を使用して、データ フレーム内の ID 列と等しい行名を設定する方法を示しています。
library (tidyverse)
#create data frame
df <- data. frame (ID=c(101, 102, 103, 104, 105),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set ID column as row names
df <- df %>% column_to_rownames(., var = ' ID ')
#view updated data frame
df
points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28
この結果は前の例の結果と一致することに注意してください。
例 3: データのインポート時に行名を設定する
my_data.csvという次の CSV ファイルがあるとします。
次のコードを使用して CSV ファイルをインポートし、インポート中に行名が ID 列と等しくなるように設定できます。
#import CSV file and specify ID column to use as row names df <- read. csv (' my_data.csv ', row.names =' ID ') #view data frame df points assists rebounds 101 99 33 30 102 90 28 28 103 86 31 24 104 88 39 24 105 95 34 28
ID 列の値はデータ フレーム内の行名として使用されることに注意してください。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
条件に基づいてRのデータフレームから行を削除する方法
Rでデータフレーム内の値を置き換える方法
Rでデータフレームから列を削除する方法