Оператор $ недопустим для атомных векторов, но не $ - PullRequest
0 голосов
/ 28 сентября 2019

Я получаю сообщение об ошибке:

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"))

Я также пытался:

  1. getElements, но возвращая ту же ошибку
  2. set['ret'], но возвращая Error in f_check_y(data) : y must be numeric

Есть идеи как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...