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でデータフレームから列を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です