HOWTO · R

R の複数の列を削除する

このチュートリアルでは、R の複数の列を削除する方法を示します。

このページの内容

R のデータフレームから複数の列を同時に削除できます。このチュートリアルでは、R の複数の列を削除する方法を示します。

R の複数の列を削除する

R のデータフレームから複数の列を削除する方法は 2つあります。これらの方法を以下に示します。

Base R を使用して複数の列を削除する

列に Null 値を割り当てることにより、R のデータフレームから複数の列を削除できます。Base R を使用して R の複数の列を削除する構文は次のとおりです。

DataFrame[ , c('column1', 'column2',………..,'column_n)] <- list(NULL)

DataFrame は指定されたデータフレームであり、リストでは、列を Null にします。例を試してみましょう:

#create a data frame
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'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

#delete columns Name and LastName from a data frame
Delftstack[ , c('Name', 'LastName')] <- list(NULL)

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
Delftstack

上記のコードは、引数として指定された列を削除します。出力を参照してください:

[1] "The DataFrame Before Deletion:"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern

このメソッドで削除する列の範囲を使用することもできます。範囲は:演算子で表示でき、列名の代わりにパラメーターとして渡すことができます。例を参照してください:

#create a data frame
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'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

#delete columns Name and LastName from data frame
Delftstack[, 1:2] <- list(NULL)

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
Delftstack

上記のコードは、上記の例と同様の出力になります。削除後の結果を確認してください。

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern

R の dplyr パッケージを使用して複数の列を削除する

dplyr パッケージを使用して、データフレームから複数の列を削除することもできます。select() メソッドを使用して列を抽出できます。

one_of メソッドを使用して、指定されたデータフレームから削除された列を含む新しいデータフレームを作成することもできます。

このメソッドの構文は次のとおりです。

dataframe_new <- data frame %>% select(- one_of(columns to be removed))

まず、dplyr パッケージをインストールしてロードします。次に、上記の方法を使用して、データフレームから複数の列を削除できます。例を参照してください:

install.packages("dplyr")
library("dplyr")

#create a data frame
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'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

# Columns to be removed
RemoveColumns <- c("Name", "LastName")

#delete columns Name and LastName from a data frame
DelftstackNew <- Delftstack %>% select(- one_of(RemoveColumns))

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
DelftstackNew

上記のコードは、列が削除された前のデータフレームから新しいデータフレームを作成します。出力を参照してください:

[1] "The DataFrame Before Deletion:"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern