0

我是编写 RExcel 宏的新手,我有一个问题。我正在通过InputBox(). 输入是一个整数。然后我想将此整数值传递给 R。

这是我的尝试:

Option Explicit
Sub KMeansClustering()
Dim k As Integer
RInterface.PutDataframe "mydata", Selection
RInterface.RRun "testdata <- na.omit(mydata)"
RInterface.RRun "testdata <- scale(testdata)"
k = InputBox("Enter k")    
' Supply data from VBA k variable to k R variable
RInterface.RRun "fit <- kmeans(testdata, k)"
RInterface.RRun "aggregate(testdata,by=list(fit$cluster),FUN=mean)"
RInterface.RRun "result <- data.frame(testdata, fit$cluster)"
End Sub
4

1 回答 1

0

在 R 中使用“k”之前,您必须首先将值传输到 R 变量(数组):

Rinterface.PutArrayFromVBA("k_value", k) Rinterface.RRun "fit <- kmeans(testdata, k_value)"

于 2015-04-10T09:22:01.720 回答