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