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

在R中为温度数据前两位数字后添加小数点的方法咨询

在R中为温度数据添加小数点的方法

已知需要将整数形式的温度值(如227725)转换为前两位后加小数点的数值(即22.7725),以下是几种简单可行的实现方式:

方法一:数学运算(高效直接)

针对你提供的6位温度值,直接将数值除以10000即可得到目标格式——因为前两位后加小数点,剩余4位自动转为小数部分:

# 对temperature列执行除法运算,生成修正后的列
df$temperature_corrected <- df$temperature / 10000

# 查看修正后的数据框
df

执行后输出结果:

date temperature temperature_corrected
1 2022-06-14 12:02:01 UTC      227725                22.7725
2 2022-06-14 12:32:01 UTC      208957                20.8957
3 2022-06-14 13:02:01 UTC      210834                21.0834
4 2022-06-14 13:32:01 UTC      214588                21.4588
5 2022-06-14 14:02:01 UTC      218342                21.8342

方法二:字符串处理(适配位数不固定的场景)

如果温度值的位数不统一(比如存在5位、7位的数值),可以通过字符串操作精准插入小数点,无需依赖数值位数:

library(stringr)

# 转字符串→在第2个字符后插入小数点→转回数值型
df$temperature_corrected <- as.numeric(str_replace(as.character(df$temperature), "(^.{2})", "\\1."))

该方法会自动识别每个数值的前两位,比如12345会转为12.345,1234567会转为12.34567,适用性更广。

方法三:基础R原生操作(无需额外包)

若不想加载第三方包,用基础R的sub函数结合正则表达式也能实现同样效果:

# 基础R正则替换:匹配开头两位字符,后加小数点,再转回数值
df$temperature_corrected <- as.numeric(sub("^(..)", "\\1.", as.character(df$temperature)))

内容的提问来源于stack exchange,提问作者Marta Román

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:45:20