1

为了实习,我必须对存储在 excel 中的数据进行一些计算。我应该汇总市场数据(超过 15 年的 50 项资产)并对汇总数据进行主成分分析。

目前我在工作表中有市场数据,我将其保存为表格分隔的文本(如 csv,但使用表格而不是逗号)。然后我用 R 阅读它并使用一些强大的包来做 PCA。最后,使用 RI 创建另一个表格分隔文本并通过 excel 阅读。我现在在 excel 中有数据和结果,我可以绘制我想要的一切。

问题是该过程对我的同事来说不够自动化。正如他们所说,他们想要一个在单击时启动 PCA 的 excel 按钮。

我尝试安装一些允许在 excel 中直接使用 R 函数的 Excel 包(Rexcel)。它不起作用(服务器问题)并且没有很好的记录。所以我试图找到其他方法直接在excel中进行大计算。似乎有同一种包可以在 Excel 中使用 Python。我还听说过其他与 excel 兼容的强大语言。问题是我无法在我的计算机上安装我想要的东西(是的,我必须为我想要安装的每个包都打电话给 IT 人员......),所以我已经花了 2/3 天来尝试 R 解决方案. 这也是为什么我正在寻找一个简单的解决方案,我的同事不会有 2/3 天的时间来安装一些 excel 包来使用我的宏......

所以我在这里问:直接在 excel 中使用其他语言的工具进行 PCA 的最简单方法是什么?

提前谢谢了

4

1 回答 1

2

您可以使用非常方便的可执行文件Rscript自动启动您的 R 脚本。

在 VBA 中,您创建一个宏,您可以在其中键入如下内容:

  retVal = Shell(MY_RSCRIPT_BAT, vbNormalFocus)  ## vba code here

我假设您可以从按钮调用 VBA 宏。

您的 MY_RSCRIPT_BAT 是 .bat 文件,您可以在其中键入以下内容:

@echo off
C:
PATH R_PATH;%path%
cd DEMO_PATH
Rscript your_pca_script.R 
exit
于 2013-03-08T14:52:05.650 回答