Excel大数据计算(PCA等)

1 投票
1 回答
800 浏览
提问于 2025-04-17 18:24

我在实习期间需要对存储在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

撰写回答