我必须对存储在excel中的数据进行一些计算才能实习。 我应该汇总市场数据(超过15年的50个资产),并对汇总数据进行主成分分析。
目前我在工作表中有市场数据,我将其保存为制表分隔文本(如csv但用制表而不是逗号)。然后我用R读它并使用一些强大的包来做PCA。最后,使用R我创建另一个制表分隔文本并通过excel读取它。我现在有数据和结果excel,我可以绘制我想要的一切。
问题是这个过程对我的同事来说不够自动化。 正如他们所说,他们想要一个excel按钮,点击时启动PCA。
我尝试安装一些Excel包(Rexcel),它允许在excel中直接使用R功能。它不起作用(服务器问题)并没有详细记录。所以我试图找到其他方法直接在excel中进行大计算。似乎在Excel中使用Python有相同类型的包。我也听说过与excel兼容的其他强大语言。问题是我无法在计算机上安装我想要的东西(是的,我必须为我想要安装的每个软件包调用一个IT人员),所以我花了2/3天尝试R解决方案。这也是为什么我正在寻找一个简单的解决方案,我的同事们不会有2/3天安装一些excel包来使用我的宏...
所以我在这里问:在excel中使用其他语言的工具做PCA最简单的方法是什么?
非常感谢提前
答案 0 :(得分: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