Not sure what you really want. If you want to summarize by week and type, then create a new variable, "Week", and do
group_by(Type, Week) %>%
summarize(Weekly_value=mean(Value)
For a running average, there are a number of ways to do it. I have tried several. My preferred is to use zoo.
# Calculate a rolling average
window <- 7
foo <- foo %>%
group_by(Type) %>%
mutate( avg = ~ zoo::rollapply(., window,
FUN=function(x) mean(x, na.rm=TRUE),
fill=c(first(.), NA, last(.))))) %>%
ungroup()