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

如何在R语言中提取数据框重复值字符串中的单一数值?

在R中提取字符串中的单一数值生成新数据框

针对你提供的数据框,我们可以通过多种方法提取字符串中的数值,生成目标数据框:

方法一:基础R字符串处理

利用gsub移除所有非数字字符,再转换为数值类型:

df <- data.frame(value =c('[2000,2000]','[2200,2200]','[2010,2010]'))

# 移除非数字字符并转数值
df$newvalue <- as.numeric(gsub("[^0-9]", "", df$value))

# 生成新数据框
newdf <- df[, "newvalue", drop = FALSE]

方法二:正则表达式提取

使用stringr包的str_extract提取字符串中的第一个数字序列:

library(stringr)

df <- data.frame(value =c('[2000,2000]','[2200,2200]','[2010,2010]'))

# 提取第一个数值
df$newvalue <- as.numeric(str_extract(df$value, "\\d+"))

# 生成新数据框
newdf <- df[, "newvalue", drop = FALSE]

方法三:JSON解析

由于原字符串符合JSON数组格式,可使用jsonlite包解析后取元素:

library(jsonlite)

df <- data.frame(value =c('[2000,2000]','[2200,2200]','[2010,2010]'))

# 解析JSON数组并取第一个元素
df$newvalue <- sapply(df$value, function(x) fromJSON(x)[1])

# 生成新数据框
newdf <- df[, "newvalue", drop = FALSE]

以上三种方法都能得到目标数据框newdf,其中基础R方法无需额外安装包,适合快速处理;正则和JSON方法更具通用性,可应对类似格式的其他数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:16:02