2013-02-17 73 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