按日期分组滚动平均

编程入门 行业动态 更新时间:2024-10-11 13:27:37
本文介绍了按日期分组滚动平均的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一天的数据。每天总是有超过1的价值,而且这些日子不一定是连续的顺序。

I have data at a Day Level. Each day always has more than 1 value, and the days are not necessarily in consecutive order.

我想在特定的一天创建一个平均值的计算,滚动14天的平均值。我已经尝试这样做在R,但我没有太多的运气。我觉得我很近了。

I want to create a calculation for the mean on a particular day and the rolling 14 day mean. I have tried doing this in R but I am not having much luck. I think I am close though.

基本上滚动的平均值和常规均数按日期分组。

Basically rolling mean and regular mean grouped by date.

非常感谢,因为我觉得我很亲密,我会疯了!

Thanks so much, I'm going crazy since I think I'm so close!

library(plyr) library(zoo) help=ddply(data, .(DATE), roll_avg14 =rollmean(score, 14, align="right", na.pad=TRUE ),mean_on_that_day = mean(score)) #help

如果你想跟一个例子 - 将它复制到R中作为数据框架

if you want to go along with an example - copy this into R as the data frame

structure(list(DATE = structure(c(16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16710, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16676, 16677, 16678, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16676, 16677, 16678, 16679, 16680, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16701, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16676, 16677, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16701, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16710, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16676, 16677, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16710, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16676, 16677, 16678, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16677, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16677, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16730, 16731, 16732, 16733, 16734, 16735, 16736, 16737, 16738, 16672, 16673, 16674, 16675, 16677, 16679, 16680, 16681, 16682, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16711, 16712, 16713, 16714, 16715, 16716, 16717, 16718, 16719, 16720, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728), class = "Date"), score = c(20.8, 16.6666666666667, 16.6666666666667, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 14, 18.8, 18.8, 20.2666666666667, 20.2666666666667, 18.8, 18.8, 18.8, 18.8, 20.2666666666667, 20.2666666666667, 21.0666666666667, 20.9333333333333, 20.2666666666667, 20.2666666666667, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 16.8, 16.8, 16.8, 16.8, 16.8, 16.6666666666667, 16.5333333333333, 18.2666666666667, 18.1333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 18.9333333333333, 18.1333333333333, 19.0666666666667, 18.9333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 19.0666666666667, 18.9333333333333, 18.2666666666667, 18.1333333333333, 19.0666666666667, 18.9333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 16.6666666666667, 16.5333333333333, 18.2666666666667, 18.1333333333333, 18.4, 20.7333333333333, 20.7333333333333, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 20.8, 20.6666666666667, 20.8, 20.6666666666667, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 20.1333333333333, 20.1333333333333, 20.8, 20.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 20.8, 20.6666666666667, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 14, 14, 14, 14, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 20.8, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 18.1333333333333, 19.8666666666667, 19.8666666666667, 18.2666666666667, 18.1333333333333, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 18.9333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 17.4666666666667, 17.4666666666667, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 19.8666666666667, 19.8666666666667, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 16.6666666666667, 16.5333333333333, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 18.2666666666667, 18.1333333333333, 18.2666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 18.6666666666667, 18.6666666666667, 20.6666666666667, 20.8, 20.6666666666667, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 20.1333333333333, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 20.8, 20.6666666666667, 20.1333333333333, 20.1333333333333, 9.06666666666667, 8.93333333333333, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 20.8, 18.2, 18.2, 18.2666666666667, 18.1333333333333, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.2666666666667, 18.1333333333333, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 18.2666666666667, 18.1333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 18.9333333333333, 19.0666666666667, 19.0666666666667, 18.9333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 18.1333333333333, 19.8666666666667, 19.8666666666667, 17.4666666666667, 17.4666666666667, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.2666666666667, 11.3333333333333, 17.4666666666667, 17.4666666666667, 13.7333333333333, 13.7333333333333, 13.7333333333333, 13.7333333333333, 18.2666666666667, 18.1333333333333, 18.2666666666667, 18.1333333333333, 17.4666666666667, 17.4666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 19.8666666666667, 13.7333333333333, 19.3333333333333, 19.3333333333333, 18.6666666666667, 18.6666666666667, 18, 19.3333333333333, 20.9333333333333, 20.8, 19.3333333333333, 19.3333333333333, 18, 18, 18.6666666666667, 18.6666666666667, 20.9333333333333, 20.8, 18, 18, 18, 18, 18, 18, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 16.6666666666667, 20, 20, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 18, 18, 20.9333333333333, 20.8, 18.6666666666667, 18.6666666666667, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 16.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 20.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 20.8, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 18.6666666666667, 18.6666666666667, 12, 14, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 20.8, 20.6666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 18.6666666666667, 17.4666666666667, 17.4666666666667, 20.8, 20.6666666666667, 17.4666666666667, 17.4666666666667, 18.6666666666667, 18.8, 18.8, 18.8, 18.8, 20.9333333333333, 20.9333333333333, 21.0666666666667, 20.9333333333333, 20.9333333333333, 20.9333333333333, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 18.8, 20.9333333333333, 20.9333333333333, 14.1333333333333, 14.1333333333333, 18.8, 18.8, 21.0666666666667, 21.0666666666667, 20.9333333333333, 17.6, 17.6, 17.6, 17.6, 18.8, 18.8, 18.8, 20.2666666666667, 20.2666666666667, 20.9333333333333, 20.9333333333333, 20.9333333333333, 20.9333333333333, 18.8, 18.8, 18.8, 18.8, 17.6, 17.6, 18.8, 18.8, 18.8, 18.8, 17.6 )), .Names = c("DATE", "score"), row.names = c(400L, 401L, 402L, 403L, 404L, 405L, 406L, 407L, 408L, 409L, 410L, 411L, 412L, 413L, 414L, 415L, 416L, 417L, 418L, 419L, 420L, 421L, 422L, 423L, 424L, 425L, 426L, 427L, 428L, 429L, 430L, 431L, 432L, 433L, 434L, 435L, 436L, 444L, 445L, 446L, 447L, 448L, 449L, 450L, 451L, 452L, 453L, 454L, 455L, 456L, 457L, 458L, 459L, 460L, 461L, 462L, 463L, 464L, 465L, 466L, 467L, 468L, 469L, 470L, 471L, 472L, 473L, 474L, 475L, 476L, 477L, 478L, 479L, 480L, 481L, 482L, 483L, 484L, 485L, 486L, 487L, 488L, 489L, 490L, 491L, 492L, 493L, 494L, 495L, 496L, 497L, 498L, 499L, 500L, 501L, 502L, 503L, 504L, 505L, 506L, 507L, 515L, 516L, 517L, 518L, 519L, 520L, 521L, 522L, 523L, 524L, 525L, 526L, 527L, 528L, 529L, 530L, 531L, 532L, 533L, 534L, 535L, 536L, 537L, 538L, 539L, 540L, 541L, 542L, 543L, 544L, 545L, 546L, 547L, 548L, 549L, 550L, 551L, 552L, 553L, 554L, 555L, 556L, 557L, 558L, 559L, 560L, 561L, 562L, 563L, 564L, 565L, 566L, 567L, 568L, 569L, 570L, 571L, 572L, 573L, 574L, 575L, 576L, 577L, 578L, 587L, 588L, 589L, 590L, 591L, 592L, 593L, 594L, 595L, 596L, 597L, 598L, 599L, 600L, 601L, 602L, 603L, 604L, 605L, 606L, 607L, 608L, 609L, 610L, 611L, 612L, 613L, 614L, 615L, 616L, 617L, 618L, 619L, 620L, 621L, 622L, 623L, 624L, 625L, 626L, 627L, 628L, 629L, 630L, 631L, 632L, 633L, 634L, 635L, 636L, 637L, 638L, 639L, 640L, 641L, 642L, 643L, 644L, 645L, 646L, 647L, 648L, 649L, 650L, 651L, 652L, 661L, 662L, 663L, 664L, 665L, 666L, 667L, 668L, 669L, 670L, 671L, 672L, 673L, 674L, 675L, 676L, 677L, 678L, 679L, 680L, 681L, 682L, 683L, 684L, 685L, 686L, 687L, 688L, 689L, 690L, 691L, 692L, 693L, 694L, 695L, 696L, 697L, 698L, 699L, 700L, 701L, 702L, 703L, 704L, 705L, 706L, 707L, 708L, 709L, 710L, 711L, 712L, 713L, 714L, 715L, 716L, 717L, 718L, 719L, 720L, 721L, 722L, 723L, 724L, 725L, 734L, 735L, 736L, 737L, 738L, 739L, 740L, 741L, 742L, 743L, 744L, 745L, 746L, 747L, 748L, 749L, 750L, 751L, 752L, 753L, 754L, 755L, 756L, 757L, 758L, 759L, 760L, 761L, 762L, 763L, 764L, 765L, 766L, 767L, 768L, 769L, 770L, 771L, 772L, 773L, 774L, 775L, 776L, 777L, 778L, 779L, 780L, 781L, 782L, 783L, 784L, 785L, 786L, 787L, 788L, 789L, 790L, 791L, 792L, 793L, 794L, 795L, 796L, 797L, 806L, 807L, 808L, 809L, 810L, 811L, 812L, 813L, 814L, 815L, 816L, 817L, 818L, 819L, 820L, 821L, 822L, 823L, 824L, 825L, 826L, 827L, 828L, 829L, 830L, 831L, 832L, 833L, 834L, 835L, 836L, 837L, 838L, 839L, 840L, 841L, 842L, 843L, 844L, 845L, 846L, 847L, 848L, 849L, 850L, 851L, 852L, 853L, 854L, 855L, 856L, 857L, 858L, 859L, 860L, 861L, 862L, 863L, 864L, 865L, 866L, 867L, 868L, 877L, 878L, 879L, 880L, 881L, 882L, 883L, 884L, 885L, 886L, 887L, 888L, 889L, 890L, 891L, 892L, 893L, 894L, 895L, 896L, 897L, 898L, 899L, 900L, 901L, 902L, 903L, 904L, 905L, 906L, 907L, 908L, 909L, 910L, 911L, 912L, 913L, 914L, 915L, 916L, 917L, 918L, 919L, 920L, 921L, 922L, 923L, 924L, 925L, 926L, 927L, 928L, 929L, 930L, 931L, 932L, 933L, 934L, 935L, 936L, 937L, 938L, 939L, 948L, 949L, 950L, 951L, 952L, 953L, 954L, 955L, 956L, 957L, 958L, 959L, 960L, 961L, 962L, 963L, 964L, 965L, 966L, 967L, 968L, 969L, 970L, 971L, 972L, 973L, 974L, 975L, 976L, 977L, 978L, 979L, 980L, 981L, 982L, 983L, 984L, 985L, 986L, 987L, 988L, 989L, 990L, 991L, 992L, 993L, 994L, 995L, 996L, 997L, 998L, 999L, 1000L), class = "data.frame")

推荐答案

使用 ddply()有意义,当您计算的方式由个别DATE ,但是rollmean()函数必须应用于整个DATE系列。

Using ddply() makes sense when you're calculating the means by individual DATEs, but the rollmean() function has to be applied to the whole series of DATEs.

如果您还可以滚动平均值是从日常手段计算的,那么这个代码应该适用于你。

If you're okay with the rolling mean being calculated from the daily means, then this code should work for you.

help <- ddply(data, .(DATE), summarize, mean_on_that_day=mean(score)) help$roll_avg14 <- rollmean(help$mean_on_that_day, 14, align="right", na.pad=TRUE) head(help, 20)

更多推荐

按日期分组滚动平均

本文发布于:2023-10-23 14:18:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1521066.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:平均   按日

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!