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

R语言如何删除数据集中每行数值的最后一位数字

R语言实现固定长度数值列删除末位的方案

针对id_municipio列固定为7位数值、需要删除最后1位统一转为6位数值的需求,有两种稳定可复现的实现方式:

  • 数值运算法(性能最优)
    直接对数值做整数除以10的运算即可,不需要做类型转换,适合百万行级别的大批量数据处理,处理后字段保持数值格式:
    # 替换df为你实际的数据集名称
    df$id_municipio <- df$id_municipio %/% 10
    
    注:%/%是R内置的整数除法运算符,和floor(df$id_municipio/10)效果完全一致,写法更简洁。
  • 字符串截取法(适配后续字符串处理场景)
    先将数值转为字符型,截取前6位字符后再转回整数即可,如果你后续需要对这个ID做字符串匹配、拼接类操作,这个方法的逻辑更直观:
    # 基础R写法
    df$id_municipio <- as.integer(substr(as.character(df$id_municipio), 1, 6))
    
    # dplyr管道流写法
    library(dplyr)
    df <- df |> 
      mutate(id_municipio = as.integer(substr(as.character(id_municipio), 1, 6)))
    

效果验证:针对你给出的示例值5300108,两种方法处理后均会返回目标值530010,完全匹配预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 18:03:18