Позвольте электронной таблице Excel подключиться к R через RExcel и вы хотите написать функцию VBA, которая вызывает некоторые R-функции.Использовать RInterface.GetArrayToVBA внутри функции VBA с массивами
В таблице Excel у вас есть несколько простых массивов, как следующие:
Код может быть что-то вроде этого:
Function foo(x As Range, y As Range) As Variant
RInterface.StartRServer
If IsNumeric(x) = True Then
RInterface.PutArrayFromVBA "x", x
End If
If IsNumeric(y) = True Then
RInterface.PutArrayFromVBA "y", y
End If
foo = RInterface.GetArrayToVBA("cbind(x, y, y^x)")
End Function
и его очевидна цель заключается в верните матрицу, содержащую cbind(x, y, y^x)
в Excel.
Я не могу получить его, я получаю странные результаты, так как немного поправляю код: иногда вывод равен 1
, иногда он равен #VALUE!
... он не работает, хотя, и я неспособный понять синтаксис, необходимый в таком случае.
Не знаете, как работает 'R', но не' GetArrayToVBA («cbind (x, y, y^x)») 'предполагается' GetArrayToVBA (cbind (x, y, y^x)) 'учитывая тот факт, что что-либо внутри кавычек рассматривается как строка? –
'Ошибка компиляции: Sub или Function not defined' ... и это подчеркивает' y' –
Что такое синтаксис/параметрирование для 'Rinterface.GetArray()'? Просто сделал быстрый поиск в Интернете. Это что-то вроде «Rinterface.GetArray (« что-то »,« диапазон »)? –