如何在RExcel宏中将VBA变量的值传递给R



我刚开始写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

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

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

最新更新