Я прогнозирую несколько моделей на вложенной (сгруппированной) df.Моя проблема решается, если я применяю sw_glance к каждому столбцу списка отдельно, но, например, если я применяю 6 моделей, он просит меня мутировать шесть раз.Я провел бесчисленные часы, и я думаю, что я почти там.Почему я не могу сделать строку ниже и перезаписать существующие переменные новыми значениями, которые приносит функция?(Я включил представленный ниже пример, где шаг 5 - то, где я застреваю)что для сгруппированных переменных mutate_at
потерпит неудачу, если я не добавлю -group_cols()
.Нет.
-purrr документация: я попытался pmap
передать список переменных.Я пробовал карту в сочетании с mutate_at
.Я попробовал mutate_at
сам по себе.Я попытался назвать функцию (.f ...) и анонимную (~ ..), но ничего не было.
- Я пробовал здесь несколько статей, которые почти привели меня туда.Я обновил до tidyr 1.0 и могу при необходимости включить мой sessionInfo ().
#1 dummy df
df=tibble(Tag=seq(as.Date("2010-01-01"),by="month", length.out = 60), gatos=sample(c("a","b"),60, replace = T), sales=runif(60))
#2 nesting
nested_df= df %>%
group_by(gatos) %>%
nest()
#3 declaring time series
ts_vector = nested_df %>%
mutate(data.ts=map(data,tk_ts,select=-Tag,start=c(2010,01),freq=12))
# Step 4: Apply models
models_df = ts_vector %>%
mutate(mod_ets = map(data.ts,ets),
mod_hw = map(data.ts,HoltWinters))
# Step 5: Apply sw_glance (Does NOT work)
models_df %<>%
map(~mutate_at(.x,vars(mod_ets,mod_hw)),sw_glance)
Error in UseMethod("tbl_vars") :
no applicable method for 'tbl_vars' applied to an object of class "character"
# This DOES work
models_df %<>%
mutate(foo_ets=map(mod_ets,sw_glance),
foo_hw=map(mod_hw,sw_glance))
Я ожидаю, что mutate_at
изменяет существующие переменные без необходимости добавлять новые.В противном случае, я был бы признателен, если возможно, примените sw_glance
к нескольким моделям за один раз.Спасибо вам, ребята.Я очень ценю вашу помощь.