如何在R中按每月30天归一化聚合求和结果?
在R语言中实现按30天归一化聚合值
首先把你的表格数据转换成R可处理的数据框:
# 构造示例数据 df <- data.frame( Month = c(1, 2, 3, 4), nbr_of_days = c(25, 28, 30, 31), aggregated_sum = c(120, 70, 130, 125) )
下面提供两种常用的实现方式:
方法一:基础R语法
直接在数据框中新增一列,用你给出的归一化公式计算即可:
df$normalized_sum <- 30 * df$aggregated_sum / df$nbr_of_days
执行后查看数据,第一行的normalized_sum会得到预期的144。
方法二:dplyr包(适合流程化数据处理)
如果你习惯用tidyverse生态的工具,可通过mutate函数新增计算列:
# 首次使用需先安装包 # install.packages("dplyr") library(dplyr) df <- df %>% mutate(normalized_sum = 30 * aggregated_sum / nbr_of_days)
最后打印处理后的数据集,就能看到所有行的归一化结果:
print(df)
输出结果示例:
Month nbr_of_days aggregated_sum normalized_sum 1 1 25 120 144.00000 2 2 28 70 75.00000 3 3 30 130 130.00000 4 4 31 125 120.96774
内容的提问来源于stack exchange,提问作者GitZine
相关产品推荐
相关产品推荐

