2016-05-10 3 views
0

フォルダ内のtxtファイルをread.tableで読み込もうとすると、非常に奇妙な問題が発生します。それはファイルの存在を認識します(私はprintメソッドでデバッグしました)が、ファイルをテーブルに読み込むことはできません。 誰かが間違っていることを知っていますか? 私は既に他の関連トピックを見ましたが、私の問題に合った答えは見つかりませんでした。R、Ubuntu 14.04 LTS、Rバージョン3.2.4の特定のディレクトリにあるtxtファイルを開く際の問題改訂

path1 = "/home/yoda/Desktop/thesis/TullyFisher/Galac.RC_Dwarfs/TFRCHI/bins_29_04/7bins_TF/datasets/TFR/" 
out.file<-"" 
file.names1 <- dir(path1, pattern =".txt") 
listofdfs<-list() 
for(i in 1:length(file.names1)) 
{ 
    print(file.names1[i]) 
    file <- read.table(file.names1[i]) 
    df<-data.frame(as.numeric(file[[1]]),as.numeric(file[[2]]),as.numeric(file[[3]]),as.numeric(file[[4]])) 
    listofdfs[[i]]<-df 
    #write.table(listofdfs[[i]],file=paste0("outliers_",file.names1[i],quote=F,row.names = F, col.names = F)) 
} 

それが返されます:

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

答えて

2

これは、ファイル・パスでなければなりません は、ここに私のコードです。そのディレクトリは作業ディレクトリではなく、dir()はフルパスではなくファイル名だけを返します。 full.names引数を使用するとこれを解決するはずです。たとえば、

dir("~/Desktop", full.names = T) 
+0

ありがとうございます!それは完全に動作します! –

0

エラーは、読み取ろうとしているファイルが現在のディレクトリにないためです。 Rは常に現在のディレクトリからファイルを読み込もうとします。

現在のディレクトリの試みを知っている:それはあなたのためpath1異なる

getwd() 

を。

@ R.S。 full.namesを使用してください。以下を試してください:

path1 = "/home/yoda/Desktop/thesis/TullyFisher/Galac.RC_Dwarfs/TFRCHI/bins_29_04/7bins_TF/datasets/TFR/" 
out.file<-"" 
file.names1 <- dir(path1, pattern =".txt",full.names = T) 
関連する問題