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

R语言如何将数据框engine_volume列的字符串值转换为整数

R实现带单位字符串列转整数类型

你创建的cars数据框测试代码如下:

cars <- data.frame(engine_volume = c('1598 ccm','1605 ccm','1900 ccm','1598 ccm','1605 ccm','1900 ccm', '1598 ccm','1605 ccm','1900 ccm', '1598 ccm'))

engine_volume列的字符串统一带ccm单位后缀,要转成整数类型可以按以下两种方法操作:

  • 基础R方法(无需安装加载第三方包)
    用正则替换掉所有非数字字符,再强制转整数类型即可,代码直接运行就行:
    cars$engine_volume <- as.integer(gsub(pattern = "\\D", replacement = "", x = cars$engine_volume))
    
    运行后可以执行str(cars)查看列类型,能看到engine_volume已经从字符型(chr)变为整数型(int),值就是提取出来的排量数字。
  • readr包方法(适合数据格式不规整的场景)
    如果日常用tidyverse工作流,或者数据里单位和数字之间的空格不统一、有其他混杂字符,可以用parse_number函数自动提取数字,容错性更高:
    # 首次使用先运行安装命令:install.packages("readr")
    library(readr)
    cars$engine_volume <- as.integer(parse_number(cars$engine_volume))
    

避坑提示:不要直接用as.integer()强转带单位的字符串,会返回NA值,必须先把非数字的单位部分清除再做类型转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:54:34