当我启动使用Rexcel的Excel工作簿时,今天发生了一些事情(之前从未遇到此问题)。
然后还有一些错误......一切都运转正常..有没有人知道问题可能是什么?
另一个奇怪的事情是,之后Rapply等工作..但是当我关闭工作簿时我又出错了。
因此,当我在Excel中使用Rexcel meny startR
时出现问题。
编辑:
感谢flodel
的回答。但是现在不能运行Sub或者?
Sub create_efficient_frontier()
RInterface.StartRServer
Sheets("Analys").Range("A52:K82").ClearContents
RInterface.PutDataframe "datat", Range("ChosenData!X181:AD352")
RInterface.PutArray "startdate", Range("Analys!K2")
RInterface.PutArray "enddate", Range("Analys!K3")
RInterface.RunRFile "C:/Users/Documents/EffFront.R"
RInterface.GetDataframe "hmz$pweight", Range("Analys!A51:E76")
End Sub
我遇到运行时错误13(“不兼容的类型”)
RInterface.GetDataframe "hmz$pweight", Range("Analys!A51:E76")
昨天有效,见Run macro with Rexcel
Solution:
Ctrl+Alt+Shift+F9 seems to work:)
最好的问候
答案 0 :(得分:0)
是。我自己也在努力解决这个问题。很可能您的计算必须按特定顺序计算。通常,您的一些(RApply
,REval
等)调用会在R会话中创建一些数据(例如x <- 10
),之后调用将期望数据存在:compute {{ 1}}。
从头开始构建spreadhseet时,一切正常。问题在于,当您保存并重新打开它时,Excel不知道它需要以何种顺序计算您的单元格:它通过以稍微随机的顺序触发单元格计算来计算其依赖关系树。那么,应该计算x^2
的单元格可能会在R环境中创建x^2
的单元格之前运行,从而触发错误。
这很烦人,但正如您所注意到的,在Excel能够构建其依赖关系树之后,错误最终会消失。如果您绝对需要找到该问题的解决方案,则必须使用VBA代码来帮助Excel以非常特定的顺序构建其依赖关系树。