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

如何在R语言中限制整数位数?将数据框列标准化为7位整数

解决R语言中将7-10位整数标准化为7位的问题

方法一:字符串截取法(直观可靠)

将列中的数值转为字符串,截取前8个字符(包含负号),再转回整数即可:

dado$latitude <- as.integer(substr(as.character(dado$latitude), 1, 8))
  • 说明:7位数字的负数(如-3005575)转为字符串后共8个字符,截取后保持原数;10位数字的负数(如-3015892843)转为字符串后共11个字符,截取前8个字符正好得到符号+7位数字的结果。

方法二:数学计算法(基于位数判断)

通过判断数值绝对值的位数,对10位的数值除以1000后截断小数部分,7位数值直接保留:

dado$latitude <- ifelse(nchar(as.character(abs(dado$latitude))) == 10, 
                        trunc(dado$latitude / 1000), 
                        dado$latitude)
  • 说明:trunc()函数直接截断小数部分(不进行四舍五入),确保结果与示例一致;通过nchar()判断绝对值的位数,精准区分7位和10位数值。

内容的提问来源于stack exchange,提问作者Danielle A C Ferreira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:30:43