HOWTO · R

R のインデックスで列を選択する

このチュートリアルでは、R でインデックスによって列を選択する方法を示します。

このページの内容

R のデータ フレームからインデックスで列を選択する方法はいくつかあります。このチュートリアルでは、R でインデックスで列を選択するさまざまな方法を示します。

ベース R を使用したインデックスによる列の選択

Base R には、インデックスで列を選択する機能があります。 構文は単純な dataframe[,c(indexes)] です。 例を試してみましょう。

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


# select first and fourth columns by index
print(Delftstack[,c(1,4)])

上記のコードは、基本 R 機能を使用して 1 番目と 4 番目を選択します。 出力を参照してください:

      Name     Designation
1     Jack             CEO
2     John Project Manager
3     Mike      Senior Dev
4 Michelle      Junior Dev
5   Jhonny          Intern

ベース R を使用したインデックス範囲による列の選択

ベース R は、インデックスによって列範囲を選択することもできます。 構文は dataframe[,start_index:end_index] です。 例を試してみましょう。

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


# select second to fourth columns by index
print(Delftstack[,c(2:4)])

上記のコードは、2 番目から 4 番目のインデックスから列を選択します。 出力を参照してください:

  LastName  Id     Designation
1  Danials 101             CEO
2     Cena 102 Project Manager
3 Chandler 103      Senior Dev
4   McCool 104      Junior Dev
5    Nitro 105          Intern

Rでインデックスを持つ列を除外して列を選択する

データ フレームから列を除外して、選択したい列を保持することもできます。 インデックス番号を持つ列を除外する必要があります。 構文は dataframe[,-c(indexes)] です。

例を参照してください:

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


# select first and fourth columns by excluding second and fourth index
print(Delftstack[,-c(2,3)])

上記のコードは、2 番目と 3 番目の列を除外し、1 番目と 4 番目の列を出力します。 出力を参照してください:

      Name     Designation
1     Jack             CEO
2     John Project Manager
3     Mike      Senior Dev
4 Michelle      Junior Dev
5   Jhonny          Intern

R で Dplyr ライブラリを使用してインデックスで列を選択する

dplyr ライブラリには、インデックスによって列を選択するために使用される関数 select() があります。 構文は data frame %>% select(indexes) です。

例を試してみましょう。

library("dplyr")

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


# select first and fourth columns by indexes using select
Delftstack %>% select(1, 4)

上記のコードは、インデックスによって 1 番目と 4 番目の列を選択します。 出力を参照してください:

      Name     Designation
1     Jack             CEO
2     John Project Manager
3     Mike      Senior Dev
4 Michelle      Junior Dev
5   Jhonny          Intern