假设我在R中有以下时间序列数据帧。
Date Var1
1/1/2010 7
1/2/2010 154
1/3/2010 125
1/4/2010 87
1/5/2010 57
1/6/2010 12
....
....
7/24/2015 5
如果我想在 2010年仅中使用Sum(Var1),如何在R中执行此操作?
答案 0 :(得分:2)
我们可以使用substr
从“日期”列中获取“年份”部分,在subset
中使用该部分提取具有“2010”年份的行,选择“Var1”列,并获得sum
sum(subset(df1, substr(Date,5,8)==2010, select=Var1))
或dplyr/lubridate
选项会使用filter
和summarise
来获得类似的结果。
library(lubridate)
library(dplyr)
df1 %>%
filter(Date=year(mdy(Date))==2010) %>%
summarise(Var1= sum(Var1))