我正在开发一个项目,我需要使用VBA作为前端来调用R作为后端。显然,没有错误警告,但我没有得到我的输出。
基于VBA,我要求R读取外部csv文件,然后将表csv写为输出。但它没有完成这项工作。
这是我的代码VBA和R.
VBA ####
Sub RunRscript()
'runs an external R code through Shell
'The location of the RScript is 'C:\R_code'
'The script name is 'hello.R'
Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim path As String
path = "RScript ""I:\des\Perso\Xiaofei\try.R"""
errorCode = shell.Run(path, style, waitTillComplete)
End Sub
[R #####
a <- read.table("German_ZCY_frombloomberg.csv",sep = ",",header = TRUE)
a <- data.frame(a)
write.table(a,"I:/des/Perso/Xiaofei/hello.csv", quote = FALSE, row.names =FALSE, col.names = TRUE, sep = ";")
我不知道问题出在哪里,因为没有警告发生。但我看不到csv文件&#34; hello.csv&#34;创建
另一方面,如果我使用另一个R代码简单地将一个短语写入带有以下代码的文本文件中,它就能很好地工作(VBA能够让R完成工作)
[R ##
sink('I:/des/Perso/Xiaofei/hello.txt',append=F,type="output")
cat('Hello World')
var1<-5^3
var2<-7^3
cat('\nThe result of adding',var1,'to',var2,'is',var1+var2)
sink(NULL)
你能帮我解决这个问题吗?非常感谢,
致以最诚挚的问候,
非,