如何从 r 中的数据框中删除列(附示例)
从 R 中的数据框中删除列的最简单方法是使用subset()函数,该函数使用以下基本语法:
#remove columns var1 and var3 new_df <- subset(df, select = - c(var1, var3))
以下示例展示了如何在实践中使用以下数据框使用此函数:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 10, 12), var4=c(14, 16, 22, 19, 18)) #view data frame df var1 var2 var3 var4 1 1 7 3 14 2 3 7 3 16 3 3 8 6 22 4 4 3 10 19 5 5 2 12 18
示例 1:按名称删除列
以下代码显示如何按名称从数据框中删除列:
#remove columns var1 and var3 new_df <- subset(df, select = - c(var1, var3)) #view updated data frame new_df var2 var4 1 7 14 2 7 16 3 8 22 4 3 19 5 2 18
示例 2:按索引删除列
以下代码显示了如何按索引从数据框中删除列:
#remove first and fourth columns new_df <- subset(df, select = - c(1, 4)) #view updated data frame new_df var2 var3 1 7 3 2 7 3 3 8 6 4 3 10 5 2 12
示例 3:从列表中删除列
以下代码显示如何从数据框中删除属于特定列表的列:
#define list of columns to remove remove_cols <- c(' var1 ', ' var4 ') #remove columns in list new_df = subset(df, select = ! ( names (df) %in% remove_cols)) #view updated data frame new_df var2 var3 1 7 3 2 7 3 3 8 6 4 3 10 5 2 12
示例 4:删除范围内的列
下面的代码展示了如何从数据框中删除一定范围内的列:
#remove columns in range of 1 to 3 new_df = subset(df, select = - c(1:3)) #view updated data frame new_df var4 1 14 2 16 3 22 4 19 5 18