2013-02-17 77 views
0

由於數據量很大(10 GB),我必須使用我們的服務器來運行它(以避免內存問題)。只有當我的平臺是Linux時,才能使用服務器。我非常感謝有關如何在Linux平臺下運行此代碼的任何想法。如何在Linux下運行在Windows下編寫的R代碼?

dir1 <- list.files("D:sdr", "*.bin", full.names = TRUE) 
dir2 <- list.files("D:dsa", "*.img", full.names = TRUE) 
file_tot<-array(dim=c(1440,720,664,2)) 
for(i in 1:length(dir1)){ 
file_tot[,,i,2] <- file_tot[,,i,2]*0.000030518594759971 
file_tot[,,i,2][file_tot[,,i,2] == 9999 ] <- NA 
         } 
}) 
+1

我強烈建議先學習一下Linux ...它可能是時候將它安裝在您的筆記本電腦上用於學習目的... – 2013-02-17 17:21:57

+4

唯一的問題是您使用以'D:'開頭的絕對路徑名,這在Linux上實際上是不可複製的。 – 2013-02-17 17:24:27

+0

@Ben Bolker,如果它只是路徑,那麼沒有問題,因爲他可以將數據加載到他的電腦,並將改變目錄!!。 – Barry 2013-02-17 17:26:02

回答

4

多年來,我們中的許多人一直在爲Windows和Linux(以及OS X ...)編寫代碼。構建自己的小幫手功能

isLinux <- function() unname(Sys.info()["sysname"]) == "Linux" 

並且同樣適用於Windows。然後構建您的路徑編程:

ourRootDir <- function() ifelse(isLinux(), "/opt/data/someThing", "D:/data") 

通過

datapath <- file.path(ourRootDir(), "project", "some", "where") 

事後所有實際分析的命令將最有可能是沒有變化便攜。

在4200+ CRAN軟件包中,很少有不存在於所有平臺上的軟件包。通過save()一個系統書面

此外,數據可以在另一加載並因爲這是與壓縮二進制格式,還可以節省大量的時間。

+0

我有點困惑,所以我在Windows上運行這些命令,然後添加連接到服務器的路徑,例如Linux或Linux。請你補充一點說明。 – Barry 2013-02-17 18:16:32

+0

'function()'右邊的所有內容都是一個基本的R命令,使用R幫助來閱讀並瞭解它們。 – 2013-02-17 18:17:37

+0

這是爲數據集dir1和dir2?我只看到D:/data.what一些項目,哪裏代表? – Barry 2013-02-17 18:23:27