涉及RAND()的公式不会刷新/重新计算,但是RAND()值本身会更新

时间:2019-05-16 17:13:12

标签: r excel-formula xlconnect

我试图在重新计算后将Excel数据文件重复导入到R中。 每次读入.xlsx电子表格时,我希望刷新/更新/重新计算涉及RAND()的所有单元格。

我在.xlsx文件中使用的excel函数是=beta.inv(rand(), alpha, beta),用于从beta发行版中进行随机采样。

但是,当尝试读取R中的excel文件时,XLConnect无法评估beta.inv()。因此,我不得不将useCachedValues参数设置为TRUE。运行setForceFormulaRecalculation后,在更新beta.inv(rand(), alpha, beta)值本身的同时,不更新/重新计算具有RAND()的单元格。

我是否可以通过beta.inv()公式在单元格中获取更新的值,而XLConnect似乎无法重新计算该公式?或者,有什么方法可以重新计算R中工作表中的所有值?

randtest2.wb <-XLConnect::loadWorkbook("betainv sampling.xlsx")
randtest2<-XLConnect::readWorksheet(randtest2.wb, sheet = 1) #could not evaluate cells with beta.inv()
randtest2<-XLConnect::readWorksheet(randtest2.wb, sheet = 1, useCachedValues = TRUE) 
setForceFormulaRecalculation(randtest2.wb,sheet = 1,TRUE)

0 个答案:

没有答案