2014-03-26 67 views
-1

我試着去r.bind在某些​​目錄中,在R上的下面的代碼中的所有文件(所有文件的格式相同):list.files錯誤(?易)[R]

gene_list <- list.files("/nethome/genelist/") 
gene_CH <- do.call("rbind",lapply(gene_list, FUN=function(files) 
     {read.table(files, header=TRUE, sep="\t", stringsAsFactors=FALSE)})) 
write.table(gene_CH,"/nethome/genelist/all.genes.CH_v2t.txt",sep="\t",quote=F,row.names=F) 

然而,我收到以下錯誤:

Error in file(file, "rt") : cannot open the connection 
In addition: Warning message: 
In file(file, "rt") : 
    cannot open file 'A2ML1_v2t.txt': No such file or directory 

問題是,A2ML1_v2t.txt在目錄中。另外,更令人費解的是(對我來說)是今天早上這個代碼工作。但由於某種原因,它現在不工作。

有什麼建議嗎?

回答

2

兩種可能性:

  1. 今天上午,你的工作目錄是/ nethome/genelist /,但現在,事實並非如此。 list.files()只提供文件名,而不是絕對路徑,所以你的第二行將搜索當前工作目錄。請嘗試getwd()檢查,然後setwd()更改它。
  2. 你在目錄中有讀權限,是嗎?
+2

我的錢在1.如果是這樣,嘗試'list.files'的'full.names'參數,無論如何這可能是個好主意。 – Aaron

+0

是的 - 我認爲這是因爲我沒有在正確的目錄 - 改變工作。使用'full.names = T'允許我在運行代碼的同時處於另一個目錄中。 – user2726449