簡體   English   中英

R:按組聚合每日到每周數據

[英]R: aggregate daily to weekly data by group

我有一個包含每個國家/地區每日數據的數據集。 我現在想通過采用每周平均值將其聚合為每周數據。 我找到了幾種解決方案。 但是,我沒有找到按組(或在我的情況下按國家/地區)執行此操作的資源。

這是我的數據的樣子:

  Country       Date StringencyIndex
1   Aruba 2020-01-01               0
2   Aruba 2020-01-02               0
3   Aruba 2020-01-03               0
4   Aruba 2020-01-04               0
5   Aruba 2020-01-05               0
6   Aruba 2020-01-06               0

目標是按國家/地區獲得 StringencyIndex 的每周值。

您可以按多列分組。

library(dplyr)

df %>%
  group_by(Country, week = lubridate::week(Date)) %>%
  summarise(StringencyIndex = mean(StringencyIndex))

基礎 R aggregate -

aggregate(StringencyIndex~Country + week, transform(df, week = format(Date, '%V')), mean)

使用data.table

library(data.table)
setDT(df)[, .(StringencyIndex = mean(StringencyIndex, na.rm = TRUE)),
          .(Country, week = week(Date))]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM