A:如果名称包含特定字符串,则删除列


您可以使用以下方法从 R 中的数据框中删除名称包含特定字符串的列:

方法 1:如果名称包含特定字符串,则删除列

 library (dplyr)

df_new <- df %>% select(-contains(' this_string '))

方法 2:如果名称包含多个特定字符串之一,则删除列

 library (dplyr)

df_new <- df %>% select(-contains(c(' string1 ', ' string2 ', ' string3 ')))

以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:

 #create data frame
df <- data. frame (team_name=c('A', 'B', 'C', 'D', 'E', 'F'),
                 team_location=c('AU', 'AU', 'EU', 'EU', 'AU', 'EU'),
                 player_name=c('Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'),
                 dots=c(22, 29, 35, 30, 18, 12))

#view data frame
df

  team_name team_location player_name points
1 A AU Andy 22
2 B AU Bob 29
3 C EU Chad 35
4 D EU Dan 30
5 E TO Ed 18
6 F EU Fran 12

示例 1:如果名称包含特定字符串,则删除列

我们可以使用以下语法从数据框中删除列名称中任意位置包含“team”的所有列:

 library (dplyr)

#drop columns that contain 'team'
df_new <- df %>% select(-contains(' team '))

#view new data frame
df_new

  player_name points
1 Andy 22
2 Bob 29
3 Chad 35
4 Dan 30
5 Ed 18
6 Fran 12

请注意,名称中包含“team”的两列已从数据框中删除。

示例 2:如果名称包含多个特定字符串之一,则删除列

我们可以使用以下语法从数据框中删除列名称中任意位置包含“player”或“points”的所有列:

 #drop columns whose name contains 'player' or 'points'
df_new <- df %>% select(-contains(c(' player ', ' points ')))

#view new data frame
df

  team_name team_location
1 A AU
2 B AU
3 C EU
4 D EU
5 E AU
6 F EU

请注意,名称中包含“player”或“points”的两列已从数据框中删除。

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

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在R中按名称删除列
如何在 R 中保留某些列
如何在 R 中重命名数据框列

添加评论

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