2013-03-08 270 views
1

我必須對存儲在Excel中的數據進行一些計算,以便實習。 我應該彙總市場數據(15年內有50項資產),並對彙總數據進行主成分分析。Excel大數據計算(PCA ...)

目前我在工作表中有市場數據,我將它保存爲製表分隔文本(如csv,但用製表符而不是逗號)。然後我用R讀取它並使用一些強大的軟件包來完成PCA。最後,在R中,我創建另一個製表符分隔的文本,並通過excel讀取它。我現在有excel的數據和結果,我可以繪製我想要的一切。

問題是這個過程對於我的同事來說不夠自動化。 正如他們所說的,他們希望在單擊時啓動PCA的Excel中有一個按鈕。

我試過安裝一些Excel包(Rexcel),它允許直接在Excel中使用R函數。它不工作(服務器問題),並沒有很好的文檔。所以我試圖找到其他方式直接在Excel中進行大量計算。似乎在Excel中有相同類型的包使用Python。我也聽說過與excel兼容的其他強大的語言。問題是我無法在計算機上安裝我想要的東西(是的,我必須給每個要安裝的軟件包打電話給IT人員......),所以它已經花了我2/3天的時間來嘗試R解決方案。這也是爲什麼我正在尋找一個簡單的解決方案,我的同事將不會有2/3天安裝一些Excel包使用我的宏...

所以我在這裏問:什麼是使用其他語言的工具直接在Excel中執行PCA的最簡單方法是什麼?

很多感謝

+0

你可以嘗試寫一個[閃亮(http://www.rstudio.com/shiny/)的應用程序,在讀一個Excel文件並寫入新的工作表。但沒有包裝,你不會有太大的成功。我已經和RExcel玩了一下,並且能夠將R集成到VBA腳本中,但是如果R代碼需要一段時間才能完成,那麼Excel沒有反應良好。一般來說,如果堅持使用Excel進行分析,我不贊成爲人們提供統計工具。 – Roland 2013-03-08 14:31:18

+1

唯一的工作是MS Office的程序......我很高興他們沒有要求我使用Powerpoint進行分析。 – 2013-03-08 15:30:03

回答

1

可以使用非常方便的可執行Rscript自動啓動你的[R腳本。

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

我認爲你可以調用從按鈕VBA宏:

在VBA那裏你可以輸入這樣的事情你創建一個宏。

你MY_RSCRIPT_BAT,是.bat文件,你輸入的東西,如:

@echo off 
C: 
PATH R_PATH;%path% 
cd DEMO_PATH 
Rscript your_pca_script.R 
exit 
+0

哇,好像太容易了! – 2013-03-08 15:25:57

+0

@lmorin是的,這很容易。 – agstudy 2013-03-08 16:34:45

+0

它運作良好,非常感謝! – 2013-03-08 17:11:46