如何根据特定年份对列进行求和?

时间:2015-07-24 19:48:59

标签: r

假设我在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中执行此操作?

1 个答案:

答案 0 :(得分:2)

我们可以使用substr从“日期”列中获取“年份”部分,在subset中使用该部分提取具有“2010”年份的行,选择“Var1”列,并获得sum

 sum(subset(df1, substr(Date,5,8)==2010, select=Var1))

dplyr/lubridate选项会使用filtersummarise来获得类似的结果。

 library(lubridate)
 library(dplyr)
 df1 %>% 
     filter(Date=year(mdy(Date))==2010) %>%
     summarise(Var1= sum(Var1))