让一个 Excel 电子表格通过RExcel连接到 R,并且您想编写一个调用一些 R 函数的 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!
......但是它不起作用,而且我无法理解语法在这种情况下需要。