Я получаю сообщение об ошибке:
Error: $ operator is invalid for atomic vectors
при применении функции fitMCMC из пакета MSGARCH.
Однако я не использую $
.
Вот мой код:
ts <- ts %>% mutate(asofdate = lubridate::ymd(asofdate)) ## from fct to date
ts <- ts %>% mutate(ret = high / dplyr::lag(high,1) - 1) %>% drop_na()
j <- 1 ## looping in (1:400)
n <- round(0.7*nrow(ts))
set <- ts[j:n+j,]
spec <- CreateSpec(variance.spec = list("gjrGARCH"),
distribution.spec = list("sged"),
switch.spec = list(do.mix = FALSE, 5))
fit <- MSGARCH::FitMCMC(spec, getElement(set, 'ret'))
, где set
- это столбец, содержащий столбец с именем ret
и тип dbl
.
structure(list(asofdate = structure(c(10961, 10962, 10963, 10966,
10967, 10968, 10969, 10970, 10974, 10975), class = "Date"), high = c(1413.27,
1411.9, 1441.47, 1464.36, 1458.66, 1442.6, 1454.2, 1473, 1465.15,
1461.39), ret = c(-0.0288272563598632, -0.000969383061976803,
0.0209434095899144, 0.0158796228849716, -0.00389248545439635,
-0.0110101051650145, 0.00804103701649805, 0.0129280704167238,
-0.0053292600135777, -0.00256629014094123)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("asofdate",
"high", "ret"))
Я также пытался:
getElements
, но возвращая ту же ошибку set['ret']
, но возвращая Error in f_check_y(data) : y must be numeric
Есть идеи как это исправить?