2015-02-24 48 views
1

我有一個R腳本,我在筆記本電腦上編程。完成之後,我將R腳本FTP到我的大學集羣並在那裏運行我的代碼(如果需要,可以並行運行)。我的大部分函數都會返回我想用ggplot繪製的數據框。這非常好,但是我想用tikzDevice爲我的情節創建tikz(乳膠代碼),使其具有與我的論文相同的字體和樣式。有沒有辦法在R中從服務器發送數據幀到客戶端?

問題: 由於缺乏LaTeX軟件包,我無法在大學集羣上運行tikzdevice。由於沒有sudo訪問權限,我也無法安裝它們。從本質上講,這條路線對我來說是死路一條。

解決方案: 我可以在我自己的筆記本電腦上運行tikzDevice。由於我正在我的筆記本電腦上處理我的乳膠文檔(論文),因此它是一個無縫的\include

問題是數據(作爲數據框)存在於大學集羣中。我可以將數據框保存爲文本文件,將它們下載到我的筆記本電腦上,然後將它們刪除,但這會殺死我的生產力。

是否有任何pacakges,工具,軟件,讓我從大學服務器「提取」我的數據的任何東西?

一個可能的解決方案是https://gist.github.com/SachaEpskamp/5796467 但我不知道如何使用它。

注意:我也不知道SE網絡的哪個部分可以繼續。

+0

'系統(sprintf的(「SCP%S 「,filename))'? – 2015-02-24 04:15:05

+0

應該能夠將'save()'數據框導出爲.Rdta文件並讓任何R安裝程序讀取它們。所以如果你可以通過ftp發送到集羣,你也應該可以通過ftp來讀取。我沒有看到問題。 – 2015-02-24 04:45:01

+0

@BondedDust這是一個解決方案,是的,但我花更多時間更新代碼 - >上傳 - >運行功能 - >下載結果 - >創建情節。 我想知道是否有辦法在我的R和服務器的R之間建立某種連接。我還通過電子郵件發送了我的IT人員,看他是否能以某種方式「打開一個端口」,以便我可以直接訪問它。最好的解決方案是,如果我可以將我的服務器文件夾掛載到Windows上 – masfenix 2015-02-24 04:47:25

回答

1

我找到了解決這個問題的解決方法。

對於希望從服務器/客戶端來回傳輸數據的用戶,您可以通過序列化來發送和接收對象。

在服務器上,使用saveRDS命令,在客戶端上使用readRDS命令。爲了提供一個URL來readRDS,你必須使用gzcon,所以像下面這樣:

con = gzcon(url("http://path.com/to/your/object/serialized")) 
a = readRDS(file = con) 

顯然,這取決於安裝在服務器上(如HTTP)的一些協議

相關問題