rollapply用于数据帧中具有条件的某些值

rollapply用于数据帧中具有条件的某些值,r,dplyr,R,Dplyr,我试图根据一个条件或一组值对列中的一些值应用乐趣。我制作了一个data.frame来表示这种情况: df <- data.frame (date = c("1", "1","2","2","3","3"), Area = c("S1", "S2","S1", "S

我试图根据一个条件或一组值对列中的一些值应用乐趣。我制作了一个data.frame来表示这种情况:

df <- data.frame (date  = c("1", "1","2","2","3","3"),
                  Area  = c("S1", "S2","S1", "S2","S1", "S2"),
                  People = c(1, 2,10,20,100,200))
我一直在尝试下一个代码,但我得到了错误的答案或代码错误

尝试1

df_2 <- df_2 %>% 
          group_by(Sector) %>%
          mutate(SumPeople = ifelse(date==3,rollapplyr(df_2$People,width= 3, sum, by = 3),"")) 

请与您提供的示例数据保持一致。您将第一列指定为“date”,但(我想)您在代码中使用了西班牙语单词“fecha”来引用它,这让人困惑
  date Area People tot_peop SumPeople Sum_tot_people
1    1   S1      1        3                         
2    1   S2      2        3                         
3    2   S1     10       30                         
4    2   S2     20       30                         
5    3   S1    100      300       111            333
6    3   S2    200      300       222            333
df_2 <- df_2 %>% 
          group_by(Sector) %>%
          mutate(SumPeople = ifelse(date==3,rollapplyr(df_2$People,width= 3, sum, by = 3),"")) 
mutate(xx = ifelse(date!="P3","",rollapplyr(df$Afiliados,2,sum,by= 3,by.column=FALSE)))