RExcel Как выполнить код R
Я пытаюсь выполнить код R с помощью Excel с помощью инструмента Rexcel.
Я создал кнопку и связанный макрос, который выполняет следующий код:
Sub button()
RInterface.StartRServer
RInterface.RunRFile "C:/Users/fran21/Downloads/R_NYSE_Hadoop/predicciones.R"
RInterface.GetArray "array", Range("A24")
RInterface.StopRServer
End Sub
Я использую RunRFile для выполнения моего R-кода и GetArray, чтобы попытаться показать переменную моего R-кода. Выполнение не вызывает ошибок, но я не вижу результатов!
1 ответ
Не видя прогнозы. Трудно сказать, в чем проблема, но попробуйте это:
Sub button()
RInterface.StartRServer
Это должно быть сделано в sub auto_open или иным образом отдельно. Вы не хотите, чтобы R запускался каждый раз при запуске такого макроса.
RInterface.rrun "source('C:/Users/fran21/Downloads/R_NYSE_Hadoop/predicciones.R')"
RInterface.rrun "print('array')"
печать только для проверки, это не обязательно
Range("A24") = RInterface.GetRExpressionValueToVBA("array")
Просто для улучшения скорости. Если это не работает, попробуйте getarray снова. Если вы работаете с большими матрицами и вам нужен более надежный код, который работает быстрее, я написал большую функцию, которую можно опубликовать здесь
'RInterface.StopRServer
Я бы не стал этого делать, если вы не собираетесь снова запускать R-код до конца сессии Excel
End Sub