R 汇总日期序列数据

Posted 基督徒Isaac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R 汇总日期序列数据相关的知识,希望对你有一定的参考价值。

R 汇总日期序列数据_neweastsun的专栏-CSDN博客

https://blog.csdn.net/neweastsun/article/details/122049940

方法一:format函数

date <- as.Date(“2021-01-25”); date
formatted_date <- format(date, format="%m/%d/%y"); formatted_date

方法二:lubridate包

library(lubridate)
library(tidyverse)

df <- tibble(ondate=c(“2021-01-01”, “2021-04-04” , “2021-07-09”), #
sales=c(34, 36, 44)); df

df %>% mutate(ondate=ymd(ondate), # 转化为 :lubridate:: ymd
year =year(ondate), # 提取年份:year
quarter =quarter(ondate), # 季度:quarter
month=month(ondate, label = TRUE),# 月份:month label添加月字
day =day(ondate), # 日期:day 整数
wday =wday(ondate, label = TRUE) # 星期:wday label添加周字
) -> df; df

实例

set.seed(1)

ds <- tibble(ondate = as.Date(“2020-12-01”) + 0:99,
sales = runif(100, 20, 50)); ds

ds %>% mutate(year = year(ondate),
quarter = quarter(ondate),
month = month(ondate)
) -> ds; ds

按年汇总

ds %>% group_by(year) %>%
summarise(ymean=mean(sales),
ysum =sum(sales))

按季度汇总

ds %>% group_by(quarter) %>%
summarise(qmean=mean(sales),
qsum =sum(sales))

按月汇总2021年数据

ds %>% filter(ondate >=‘2021-01-01’)%>%
group_by(month) %>%
summarise(mmean=mean(sales),
msum =sum(sales))

# R 汇总日期序列数据_neweastsun的专栏-CSDN博客
# https://blog.csdn.net/neweastsun/article/details/122049940

# 方法一:format函数

date <- as.Date("2021-01-25"); date
formatted_date <- format(date, format="%m/%d/%y"); formatted_date

# 方法二:lubridate包

library(lubridate)
library(tidyverse)

df <- tibble(ondate=c("2021-01-01", "2021-04-04" , "2021-07-09"), # <chr>
             sales=c(34, 36, 44)); df

df %>% mutate(ondate=ymd(ondate),               # 转化为 <date>:lubridate:: ymd
              year =year(ondate),               # 提取年份:year
              quarter =quarter(ondate),         # 季度:quarter
              month=month(ondate, label = TRUE),# 月份:month  label添加月字
              day  =day(ondate),                # 日期:day       <ord> 整数
              wday =wday(ondate, label = TRUE)  # 星期:wday   label添加周字
) -> df; df

# 实例

set.seed(1)

ds <- tibble(ondate = as.Date("2020-12-01") + 0:99,
             sales = runif(100, 20, 50)); ds

ds %>% mutate(year = year(ondate), 
              quarter = quarter(ondate),
              month   = month(ondate)
) -> ds; ds


# 按年汇总
ds %>% group_by(year) %>% 
  summarise(ymean=mean(sales), 
            ysum =sum(sales))

# 按季度汇总
ds %>% group_by(quarter) %>% 
  summarise(qmean=mean(sales), 
            qsum =sum(sales))

# 按月汇总2021年数据
ds %>% filter(ondate >='2021-01-01')%>% 
  group_by(month) %>% 
  summarise(mmean=mean(sales), 
            msum =sum(sales))

以上是关于R 汇总日期序列数据的主要内容,如果未能解决你的问题,请参考以下文章

pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据

如何将MySQL表数据汇总半年?

R语言日期函数weekdays, months, quarters & julian实战(星期几那个月那个季度时间差)

在 Python Pandas 中将带有元素日期标签的年度财政数据元组转换为时间序列

2017.06.9 金融时间序列分析之Eview使用基础

按年份将数据汇总为每月计数