r - 在R中将每周数据框转换为每月数据框
问题描述
我的数据如下所示,不同的 node_desc 有 4 年的每周数据
ID1 ID2 DATE_ value
1: 00001 436 2014-06-29 175.8164
2: 00001 436 2014-07-06 188.9264
3: 00001 436 2014-07-13 167.5376
4: 00001 436 2014-07-20 160.7907
5: 00001 436 2014-07-27 185.3018
6: 00001 436 2014-08-03 179.5748
想将数据框转换为每月。尝试下面的代码
df %>%
tq_transmute(select = c(value,ID1),
mutate_fun = apply.monthly,
FUN = mean)
但我的输出如下所示
DATE_ value
<dttm> <dbl>
1 2014-06-29 00:00:00 144.
2 2014-07-27 00:00:00 143.
3 2014-08-31 00:00:00 143.
4 2014-09-28 00:00:00 152.
5 2014-10-26 00:00:00 156.
6 2014-11-30 00:00:00 166.
但我想有 ID1、ID2、日期(每月)和值(获得 4 周的平均值或最大值)而不是只有日期和值,因为我有 4 年不同 ID1 的数据。有人能帮我吗在 R 中
解决方案
这是我的看法
dta <- data.frame(id1=rep("00001",6),id2=rep("436",6),
date_=as.Date(c("29jun2014","6jul2014","13jul2014","20jul2014","27jul2014","3aug2014"),"%d%B%Y"),
value=c(175.8164,188.9264,167.5376,160.7907,185.3018,179.5748))
并dplyr
会做剩下的。这里我通过取平均值来总结数据
library(dplyr)
my_dta <- dta %>% mutate(month_=format(as.yearmon(date_),"%b"))
my_dta %>% group_by(.dots=c("id1","id2")) %>% summarise(mvalue=mean(value))
推荐阅读
- c++ - “正在初始化”:无法从“T []”转换为“T []”
- data-modeling - 数据仓库的维度模型(递归/分层)
- linux-kernel - 无法从任何来源获取 URL - 在运行 BitBake 时
- c# - .NET Core 中的 TraceSource 未捕获事件
- python - DRF 此字段为必填项
- javascript - 基于范围的正/负的 JS Sum 套件
- excel - 根据多个条件计算唯一单元格值
- python - python中的多重继承使用函数super()
- python - UnicodeEncodeError:“latin-1”编解码器无法在位置 0 编码字符“\u201d”:序数不在范围内(256)
- c# - 获取模型绑定列表框的 SelectedItem 字符串表示