Гарчфит в R, вызванный Джулией: для ввода многомерных данных требуется lhs для формулы

#r #julia #fgarch #rcall

Вопрос:

Я пытаюсь вызвать функцию R garchFit от Джулии, используя Rcall. Когда я делаю что-то непосредственно в R, все хорошо: работает следующее

 library("fGarch")  library("rugarch")  spxData lt;- read.csv(file = 'SPXlogreturns.csv')  y = spxData$y  fit.arch lt;- garchFit(~garch(1,0),data=y,trace=F,include.mean=FALSE)  

Но когда у меня тот же вектор возврата журнала в Julia, и я пытаюсь сделать то же самое с помощью RCall:

 using RCall  @rput y  R"""  library("fGarch")  library("rugarch")  fit.arch lt;- garchFit(~garch(1,0),data=y,trace=F,include.mean=FALSE)  """  

Я получаю ошибку, для ввода многомерных данных требуется lhs для формулы. Тем не менее, когда я @rget возвращаюсь из R, это вектор, поэтому я не понимаю, чего хочет Гарчфит. Любая помощь очень ценится.

Комментарии:

1. как вы назначили y в версии Julia?

2. data = readdlm(строка(путь,»SPXlogreturns.csv»),’,’) y = данные[:,4] Ключевым моментом является то, что y в Julia тоже является вектором и в точности совпадает с y в примере R.

Ответ №1:

В случае, если кто-нибудь загуглит его и столкнется с аналогичной проблемой, ответ заключается в том, что вам нужно снять список. По какой-либо (по крайней мере, для меня) очевидной причине @rput создает список в R, а не вектор. Итак, ответ таков using RCall @rput y R""" library("fGarch") library("rugarch") yy lt;- unlist(y) fit.arch lt;- garchFit(~garch(1,0),data=yy,trace=F,include.mean=FALSE) """