如何使用R计算特定日期范围内列的平均值?

如何使用R计算特定日期范围内列的平均值?,r,statistics,R,Statistics,我知道可能会有类似的问题,但我找不到任何具体的答案为我的条件。我有这样一个数据帧: date CVDadmissions 2001.10.01 48 2001.10.02 12 2002.10.01 24 2002.10.02 22 我想要的是: 2001年和2002年的任务平均数 有人能告诉我如何使用R吗?转换为日期对象,提取年份,然后取平均值 aggregate(CVDadmissions~year,

我知道可能会有类似的问题,但我找不到任何具体的答案为我的条件。我有这样一个数据帧:

date          CVDadmissions
2001.10.01         48
2001.10.02         12
2002.10.01         24
2002.10.02         22
我想要的是:

  • 2001年和2002年的任务平均数

有人能告诉我如何使用R吗?

转换为
日期
对象,提取年份,然后取
平均值

aggregate(CVDadmissions~year, 
   transform(df, year = format(as.Date(date, "%Y.%m.%d"), "%Y")), mean)

#  year CVDadmissions
#1 2001            30
#2 2002            23
使用
dplyr
lubridate
,我们可以

library(dplyr)
library(lubridate)

df %>%
  mutate(date = ymd(date)) %>%
  group_by(year = year(date)) %>%
  summarise(CVDadmissions = mean(CVDadmissions))

转换为
Date
对象,提取年份,然后取
mean

aggregate(CVDadmissions~year, 
   transform(df, year = format(as.Date(date, "%Y.%m.%d"), "%Y")), mean)

#  year CVDadmissions
#1 2001            30
#2 2002            23
使用
dplyr
lubridate
,我们可以

library(dplyr)
library(lubridate)

df %>%
  mutate(date = ymd(date)) %>%
  group_by(year = year(date)) %>%
  summarise(CVDadmissions = mean(CVDadmissions))

这里的1和4指的是什么?@hasanarshad函数从位置1到4的日期提取一个子字符串,即一年的前四个字符。这里的1和4指的是什么?@hasanarshad函数从位置1到4的日期提取一个子字符串,即一年的前四个字符。Ronak。非常感谢。那么,如果我们在几年内对1-12个月进行了逐月平均,代码会是什么呢。如果您也能分享这些代码,我将不胜感激。@hasanarshad在这种情况下,请逐月摘录<代码>聚合(CVD年/月,转换(df,年/月=格式(截止日期,%Y.%m.%d”),%Y-%m)),平均值)Ronak。非常感谢。那么,如果我们在几年内对1-12个月进行了逐月平均,代码会是什么呢。如果您也能分享这些代码,我将不胜感激。@hasanarshad在这种情况下,请逐月摘录<代码>聚合(CVD年/月,转换(df,年/月=格式)(截止日期(日期,%Y.%m.%d”),%Y-%m)),平均值)