如何使用 dplyr 删除多列(附示例)
您可以使用以下任何方法使用dplyr包从 R 中的数据框中删除多列:
1.按名称删除多列
df_new <- df %>% select(-c(col2, col4))
2. 删除范围内的所有列
df_new <- df %>% select(-c(col2:col4))
以下示例展示了如何在实践中使用以下数据框使用每种方法:
#create data frame
df = data. frame (rating = c(90, 85, 82, 88, 94, 90, 76, 75, 87, 86),
points=c(25, 20, 14, 16, 27, 20, 12, 15, 14, 19),
assists=c(5, 7, 7, 8, 5, 7, 6, 9, 9, 5),
rebounds=c(11, 8, 10, 6, 6, 9, 6, 10, 10, 7))
#view data frame
df
rating points assists rebounds
1 90 25 5 11
2 85 20 7 8
3 82 14 7 10
4 88 16 8 6
5 94 27 5 6
6 90 20 7 9
7 76 12 6 6
8 75 15 9 10
9 87 14 9 10
10 86 19 5 7
示例 1:按名称删除多列
以下代码显示如何从数据框中删除名为点和反弹的列:
library (dplyr) #drop points and rebounds columns df_new <- df %>% select(-c(points, rebounds)) #view new data frame new_df rating assists 1 90 5 2 85 7 3 82 7 4 88 8 5 94 5 6 90 7 7 76 6 8 75 9 9 87 9 10 86 5
请注意,名为“points”和“bounces”的列均已从新数据框中删除。
示例 2:从范围中删除所有列
以下代码显示如何删除点和反弹列之间的所有列:
library (dplyr) #drop all columns between points and rebounds df_new <- df %>% select(-c(points:rebounds)) #view new data frame new_df rating 1 90 2 85 3 82 4 88 5 94 6 90 7 76 8 75 9 87 10 86
请注意,点和反弹之间的所有列均已从新数据框中删除。
注意:R 中的MASS包也有一个select()函数。如果还加载了此包,则必须使用dplyr::select()以便 R 知道使用dplyr包的select()函数。
其他资源
以下教程解释了如何在 dplyr 中执行其他常用功能: