如何删除 r 中的列(附示例)


通常,您可能希望从 R 中的数据框中删除一列或多列。幸运的是,使用dplyr包中的select()函数可以轻松完成此操作。

 library (dplyr)

本教程展示了如何使用以下数据框在实践中使用此函数的几个示例:

 #create data frame
df <- data. frame (player = c('a', 'b', 'c', 'd', 'e'),
                 position = c('G', 'F', 'F', 'G', 'G'),
                 points = c(12, 15, 19, 22, 32),
                 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

  player position points rebounds
1 to G 12 5
2 b F 15 7
3 c F 19 7
4 d G 22 12
5th G 32 11

示例 1:按名称删除列

以下代码显示如何按名称从数据框中删除列:

 #remove column named 'points'
df %>% select(-points)

  player position rebounds
1 to G 5
2 b F 7
3 c F 7
4 d G 12
5th G 11

示例 2:从列表中删除列

以下代码显示如何从数据框中删除特定列表中的列:

 #remove columns named 'points' or 'rebounds'
df %>% select(-one_of(' points ', ' rebounds ')) 

  player position
1 a G
2 b F
3c F
4 d L
5th G

示例 3:删除范围内的列

以下代码显示如何删除从“position”到“bounces”范围内的所有列:

 #remove columns in range from 'position' to 'rebounds'
df %>% select(-(position:rebounds)) 

  player
1 a
2b
3 tbsp
4d
5th

示例 4:删除包含表达式的列

以下代码显示如何删除所有包含单词“points”的列

 #remove columns that contain the word 'points'
df %>% select(-contains(' points ')) 

  player position rebounds
1 to G 5
2 b F 7
3 c F 7
4 d G 12
5th G 11

示例 5:删除以某些字母开头的列

以下代码显示如何删除所有以字母“po”开头的列:

 #remove columns that start with 'po'
df %>% select(-starts_with(' po ')) 

  player rebounds
1 to 5
2 b 7
3 v 7
4 d 12
5 th 11

示例 6:删除以某些字母结尾的列

以下代码显示如何删除所有以字母“s”结尾的列:

 #remove columns that end with 's'
df %>% select(-ends_with(' s ')) 

  player position
1 a G
2 b F
3c F
4 d G
5th G

示例 7:按位置删除列

以下代码展示了如何删除特定位置的列:

 #remove columns in position 1 and 4
df %>% select(-1, -4) 

  position points
1 G 12
2 F 15
3 F 19
4 G 22
5 G 32

注意:您可以在此处找到select()函数的完整文档。

其他资源

以下教程解释了如何使用 dplyr 执行其他常见操作:

如何使用 dplyr 删除行
如何使用 dplyr 删除具有 NA 值的行
如何使用 dplyr 按索引选择列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注