如何使用 dplyr 从字符串中删除第一个字符


您可以在dplyr中使用以下基本语法来删除特定列中每个字符串的第一个字符:

 library (dplyr)

df_new <- df %>% mutate(across(c(' my_column '), substr, 2 , nchar(my_column)))

此特定语法从名为my_column 的列中删除每个字符串的第一个字符。

请注意,我们使用substr()函数从每个字符串的第二个字符提取子字符串,直到字符串的长度。

这具有从字符串中删除第一个字符的效果。

以下示例展示了如何在实践中使用此语法。

示例:使用 dplyr 从字符串中删除第一个字符

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('XMavs', 'XPacers', 'XHawks', 'XKings', 'XNets', 'XCeltics'),
                 points=c(104, 110, 134, 125, 114, 124))

#view data frame
df

      team points
1 XMavs 104
2 XPacers 110
3XHawks 134
4 XKings 125
5 XNets 114
6 XCeltics 124

假设我们要删除team列中每个字符串的第一个字符。

我们可以使用以下语法来做到这一点:

 library (dplyr)

#remove first character from each string in 'team' column
df_new <- df %>% mutate(across(c(' team '), substr, 2 , nchar(team)))

#view updated data frame
df_new

     team points
1 Mavs 104
2 Pacers 110
3 Hawks 134
4 Kings 125
5 Nets 114
6 Celtics 124

请注意,团队列中每个字符串的第一个字符已被删除。

请注意, nchar()函数用于计算字符串中的字符总数。

所以,我们使用substr()函数提取每个字符串从第二个字符到最后一个字符的子字符串,相当于删除每个字符串的第一个字符。

注意:如果要从多个列字符串中删除第一个字符,只需在across()函数中包含多个列名称即可。

其他资源

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

如何使用 dplyr 删除行
如何使用 dplyr 按索引选择列
如何使用 dplyr 过滤包含特定字符串的行

添加评论

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