R语言调整变量参考基准年份并更新对应列数值的问题求助
R语言调整基准年更新列数值的实现方案
核心逻辑
两个基准年的差值为 2015 - 2002 = 13,基准年后移13年后,所有years_before列的数值需要统一加13即可完成更新,该逻辑完全匹配数值变化预期。
实现代码
基础R方案(最高效,适配大型数据集)
R原生向量化运算无需循环,处理百万级行数据也可秒级完成:
tsunami_data$years_before <- tsunami_data$years_before + 13
Tidyverse生态方案
如果日常使用dplyr语法,也可以用以下写法,效率同样适配大型数据集:
library(dplyr) tsunami_data <- tsunami_data %>% mutate(years_before = years_before + 13)
校验方法
运算前后可以抽取前几行验证数值是否符合预期:
# 运算前查看 head(tsunami_data$years_before) # 运算后查看 head(tsunami_data$years_before)
你给出的示例数值运算后结果为:20、69、100、58,和预期一致。
内容的提问来源于stack exchange,提问作者Benson.Hobbs
相关产品推荐
相关产品推荐

