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

如何在R语言中修改数据框列值,仅保留其中的数字?

解决方案:提取subject列中的数字并转换为数值型

你可以结合dplyr的mutate()和stringr的字符串处理函数来实现需求,以下是两种常用方法:

方法1:提取所有连续数字字符

这种方法更通用,即使前缀格式有变化(比如不是固定的sub-),只要数字是连续的就能提取:

# 先加载所需包(未安装的话先运行 install.packages(c("dplyr", "stringr")))
library(dplyr)
library(stringr)

# 原始数据
example <- data.frame(
  subject = c('sub-137', 'sub-138', 'sub-139')
)

# 处理数据
example_solution <- example %>%
  mutate(subject = as.numeric(str_extract(subject, "\\d+")))

方法2:移除固定前缀

如果前缀固定为sub-,可以直接移除前缀后转换为数值:

example_solution <- example %>%
  mutate(subject = as.numeric(str_remove(subject, "sub-")))

最终输出

运行上述代码后,example_solution的结构如下:

> example_solution
  subject
1     137
2     138
3     139

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:23:15