You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于另一列在R语言中移除字符串的指定部分

按指定数量移除字符串前导字符的tidyverse解决方案

嘿,这事儿用tidyverse的工具轻松就能搞定!咱们直接一步步来:

首先是你给出的原始数据集:

library(tidyverse)
df <- tibble(fruits=c("apple","banana","ananas"), remove_strings=c(1,4,2))
df

输出结果:

A tibble: 3 × 2

fruits remove_strings

1 apple 1
2 banana 4
3 ananas 2

接下来,我们用mutate()配合str_sub()函数生成目标的new_fruits列。str_sub()能精准截取字符串,这里把起始位置设为remove_strings + 1,相当于跳过前N个字符,直接从第N+1位开始截取到字符串末尾:

df <- df %>%
  mutate(new_fruits = str_sub(fruits, start = remove_strings + 1))

df

运行后就能得到你想要的结果:

A tibble: 3 × 3

fruits remove_strings new_fruits

1 apple 1 pple
2 banana 4 na
3 ananas 2 anas

简单说下逻辑:

  • str_sub(fruits, start = remove_strings + 1):针对每一行的fruits字符串,从remove_strings指定数字加1的位置开始截取,直到字符串结束,正好实现了移除前N个字符的需求。

内容的提问来源于stack exchange,提问作者LDT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 15:34:04