R语言如何转换变量计量单位 将KWh/月转换为KWh/天
月度用电量单位转日度单位实现方法
转换说明
- 转换目标:将数据集中统计单位为
KWh/month的Consumption变量换算为KWh/day,和日度统计的Waste变量统一数据维度 - 换算逻辑:无精确月份匹配信息时,按能源、环保统计领域通用规则,取月均30天作为换算基准,即
日度数值 = 月度数值 / 30;如果数据集附带每条记录对应的精确日期/月份信息,可替换为对应月份的实际天数(28/29/30/31)提升精度。
示例数据集
测试用原始数据结构如下:
df<-structure(list(Unit = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), `Waste (m3/day)` = c(239.936, 422.18352, 5.863376, 23.9936, 406.09168, 143.9616, 42.348704, 61.67968, 12.956544, 182.058268), `Consumption (KWh/month)` = c(14021, 23856, 5286, 14021, 22155, 66791, 3214, 5959, 6309, 35969)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))
原始数据集为tibble格式,共10行3列,Consumption为月度统计值,Waste为日度统计值。
转换代码
基础R实现
无需加载额外包,直接操作数据框列即可:
# 生成日度用电量新列 df$`Consumption (KWh/day)` <- df$`Consumption (KWh/month)` / 30 # 可选:删除原月度单位的旧列 df$`Consumption (KWh/month)` <- NULL
dplyr实现(适配tibble工作流)
如果日常用tidyverse生态处理数据,写法更简洁:
library(dplyr) df <- df %>% mutate( `Consumption (KWh/day)` = `Consumption (KWh/month)` / 30, .keep = "unused" # 转换完成后自动移除原月度列 )
转换结果
转换后所有变量均为日度统计维度,前3条记录参考如下:
| Unit | Waste (m3/day) | Consumption (KWh/day) |
|---|---|---|
| 1 | 239.94 | 467.37 |
| 2 | 422.18 | 795.20 |
| 3 | 5.86 | 176.20 |
内容的提问来源于stack exchange,提问作者Carlo Soares
相关产品推荐
相关产品推荐

