r - 将多元每周数据转换为R中的每月数据
问题描述
我正在尝试将每周的多元数据转换为每月的数据,但是它不会产生正确的结果。我想知道是否有人可以帮助我实现同样的目标。下面是数据框的样子
Week Display Native Video TV
2017-03-12 2951.86 1158.6 2626.05 1416.28
2017-03-19 2951.86 1158.6 2626.05 1416.28
2017-03-26 2614.12 1061.99 2283.19 1505.28
2017-04-02 587.67 482.33 226.05 2039.3
2017-04-09 587.67 482.33 226.05 2039.3
2017-04-16 587.67 482.33 226.05 2039.3
2017-04-23 587.67 482.33 226.05 2039.3
2017-04-30 516.31 1477.81 244.98 5994.72
2017-05-07 504.42 1643.72 248.14 6653.95
2017-05-14 504.42 1643.72 248.14 6653.95
2017-05-21 504.42 1643.72 248.14 6653.95
2017-05-28 735.05 2325.75 241.46 3983.36
2017-06-04 1042.56 3235.12 232.56 422.56
2017-06-11 1042.56 3235.12 232.56 422.56
2017-06-18 1042.56 3235.12 232.56 422.56
2017-06-25 893.62 2772.96 228.57 362.19
这是我尝试过但没有产生正确结果的方法
to.day <- function(i) with(data, zoo(Display...Other[i], seq(Weeksart[i], weekend[i], "day")))
z.day <- do.call(c, lapply(1:nrow(data), to.day))
aggregate(z.day, as.yearmon, sum)
任何帮助将不胜感激。提前致谢!!
解决方案
exdata <- read.table(text = "
Week Display Native Video TV
2017-03-12 2951.86 1158.6 2626.05 1416.28
2017-03-19 2951.86 1158.6 2626.05 1416.28
2017-03-26 2614.12 1061.99 2283.19 1505.28
2017-04-02 587.67 482.33 226.05 2039.3
2017-04-09 587.67 482.33 226.05 2039.3
2017-04-16 587.67 482.33 226.05 2039.3
2017-04-23 587.67 482.33 226.05 2039.3
2017-04-30 516.31 1477.81 244.98 5994.72
2017-05-07 504.42 1643.72 248.14 6653.95
2017-05-14 504.42 1643.72 248.14 6653.95
2017-05-21 504.42 1643.72 248.14 6653.95
2017-05-28 735.05 2325.75 241.46 3983.36
2017-06-04 1042.56 3235.12 232.56 422.56
2017-06-11 1042.56 3235.12 232.56 422.56
2017-06-18 1042.56 3235.12 232.56 422.56
2017-06-25 893.62 2772.96 228.57 362.19",
header = TRUE)
exdata$Week <- format(as.POSIXct(exdata$Week), "%b/%Y") # or any other format you want
> aggregate(. ~ Week, exdata, sum)
Week Display Native Video TV
1 abr/2017 2866.99 3407.13 1149.18 14151.92
2 jun/2017 4021.30 12478.32 926.25 1629.87
3 mai/2017 2248.31 7256.91 985.88 23945.21
4 mar/2017 8517.84 3379.19 7535.29 4337.84
推荐阅读
- angular - ngOnInit() 方法没有按预期工作
- java - 小数点分隔符在后台被删除
- mysql - Laravel MySql 获得球员参加比赛
- javascript - 无法在所有图像上设置相同的宽度和高度
- android - GTM(firebase)跟踪android中的应用程序打开事件和活动
- mysql - 来自mysql json数据的grafana时间序列图
- android - Android textview 奇怪的行为:焦点更改时自动滚动到顶部
- npm - 确保 NPM 开发依赖项匹配相应的对等依赖项
- javascript - 如何将猫鼬查询的结果保存到 javascript 变量中?
- matlab - Matlab 中不显示希腊语单词