Excel大数据计算(PCA等)
我在实习期间需要对存储在Excel中的数据进行一些计算。我的任务是汇总市场数据(50个资产,覆盖15年),并对这些汇总的数据进行主成分分析(PCA)。
目前,我在一个工作表中有市场数据,我把它保存为制表符分隔的文本文件(类似于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,最简单的方法是什么?
非常感谢!
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