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

加速R语言中的for/if循环:批量处理气象站温度数据

气象站温度数据修正与效率优化

核心需求

  • 删除温度值>100°C的错误行
  • 新增一列temperature2,值为原温度除以10
  • 优化70万行数据的处理效率(替代低效的for/if循环)

原循环的问题

R的for循环是逐行解释执行的,处理几十万行数据时速度极慢,而且原代码的判断逻辑完全可以通过向量操作简化,没必要逐行遍历。

优化方案(向量式处理)

直接用R的向量运算和索引过滤,底层是C级别的优化,处理70万行毫无压力:

  1. 先过滤错误数据
    保留温度≤100°C的行(如果不需要保留NA值,可去掉| is.na(df$temperature)):

    df <- df[df$temperature <= 100 | is.na(df$temperature), ]
    
  2. 新增目标列
    直接对整列做除法运算,自动处理所有行(包括NA值,NA/10仍为NA,符合逻辑):

    df$temperature2 <- df$temperature / 10
    

补充说明

如果需要给NA值设置默认值(比如0),可以用ifelse向量式判断:

df$temperature2 <- ifelse(is.na(df$temperature), 0, df$temperature / 10)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:48:30