如何在R中删除字符串中的最后一个字符(2个例子)

1,586 阅读1分钟

你可以使用以下方法从R中的向量中的每个字符串中删除最后一个字符。

方法1:使用Base R删除最后一个字符

substr(df$some_column, 1, nchar(df$some_column)-1)

方法2:使用stringr包去除最后一个字符

library(stringr) 

str_sub(df$some_column, end = -2)

下面的例子展示了如何在R语言中使用以下数据框架的每种方法:

#create data frame
df <- data.frame(name=c('Andy', 'Bert', 'Chad', 'Derrick', 'Eric', 'Fred'),
                 sales=c(18, 22, 19, 14, 14, 11))

#view data frame
df

     name sales
1    Andy    18
2    Bert    22
3    Chad    19
4 Derrick    14
5    Eric    14
6    Fred    11

例1:使用基础R删除最后一个字符

下面的代码显示了如何从数据框架的名称 列中的每个字符串中删除最后一个字符:

#remove last character from each string in 'name' column
df$name = substr(df$name, 1, nchar(df$name)-1)

#view updated data frame
df

    name sales
1    And    18
2    Ber    22
3    Cha    19
4 Derric    14
5    Eri    14
6    Fre    11

注意,名字列中每个字符串的最后一个字符已经被移除。

例2:使用stringr包删除最后一个字符

下面的代码显示了如何通过使用stringr包中的str_sub()函数来移除数据框名称 列中每个字符串的最后一个字符:

library(stringr)

#remove last character from each string in 'name' column
df$name <- str_sub(df$name, end = -2)

#view updated data frame
df

    name sales
1    And    18
2    Ber    22
3    Cha    19
4 Derric    14
5    Eri    14
6    Fre    11

注意,名字列中每个字符串的最后一个字符已被删除。

请注意,这种方法产生的结果与前面的方法相同。

然而,如果你正在处理一个非常大的数据框架,那么 str_sub()可能会比基础R的**substr()**函数更快。