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

在R语言中如何对非double类型的整数执行取整操作?

R语言整数指定位数取整方法

你需要的是将整数按十位为单位取整(如1445→145、1526→153),核心思路是先对整数做缩放处理,再用round()取整,具体实现如下:

  1. 直接处理单个或批量整数
    先将整数除以10,再用round()取整即可得到目标结果:

    # 定义目标整数向量
    target_nums <- c(1445, 1526, 2474)
    # 执行取整操作
    round(target_nums / 10)
    

    运行结果:[1] 145 153 247

  2. 通用化取整函数(支持任意位数)
    如果需要灵活调整取整的位数(比如百位、千位),可以封装一个简单函数:

    round_int <- function(x, keep_digits = 1) {
        scale_factor <- 10^keep_digits
        round(x / scale_factor)
    }
    
    # 测试:按十位取整(keep_digits=1)
    round_int(target_nums)
    # 若要按百位取整(如1445→14),设置keep_digits=2即可
    round_int(target_nums, keep_digits = 2)
    

补充说明:R中的round()并非仅支持double/float类型,当传入integer类型时会自动转换为numeric类型处理,只是直接对无小数位的整数调用round()不会改变数值,因此需要先做缩放。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:40:42