Я в растерянности.Гугл подвел меня, потому что я не уверен, что знаю правильный вопрос.
У меня есть фрейм данных (df1), и моя цель состоит в том, чтобы использовать функцию для получения скользящей средней с помощьюcast :: ma.
Вот стр. (Df1)
'data.frame': 934334 obs. of 6 variables:
$ clname : chr ...
$ dos : Date, format: "2011-10-05" ...
$ subpCode: chr
$ ch1 : chr "
$ prov : chr
$ ledger : chr
У меня есть функция, которую я пытаюсь написать.
process <- function(df, y, sub, ...) {
prog <- df %>%
filter(subpCode == sub) %>%
group_by(dos, subpCode) %>%
summarise(services = n())
prog$count_ts <- ts(prog[ , c('services')])
}
Проблема заключается в том, что при запуске функциимой окончательный результат - объект данных 1x1798, и это всего лишь временной ряд.Если я запускаю код построчно, я получаю то, что мне нужно, но моя функция, которая гипотетически делает то же самое, не будет работать.
Вот мой желаемый результат
Classes ‘grouped_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 1718 obs. of 4 variables:
$ dos : Date, format: "2010-09-21" "2010-11-18" "2010-11-19" "2010-11-30" ...
$ subpCode: chr "CII " "CII " "CII " "CII " ...
$ services: int 1 1 2 2 2 2 1 2 1 3 ...
$ count_ts: Time-Series [1:1718, 1] from 1 to 1718: 1 1 2 2 2 2 1 2 1 3 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : NULL
.. ..$ : chr "services"
- attr(*, "vars")= chr "dos"
- attr(*, "drop")= logi TRU
И воткод, который его получает.
CII <- df1 %>%
filter(subpCode == "CII ") %>%
group_by(dos, subpCode) %>%
summarise(services = n())
CII$count_ts <- ts(CII[ , c('services')])
Может ли кто-нибудь указать мне правильное направление.Я исчерпал свои обычные места.
Спасибо!