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 中执行其他常见任务: