2016-09-06 11 views
0

私はプログラミングの初心者です。現在、courseraでRプログラミングを行っていて、 "pollutantmean"という名前の割り当てを実行中にこのエラーが発生しました。しかし、それを修正することができませんでした。あなたの助けを感謝します。ファイル内のエラー(ファイル、 "rt"):rで接続を開くことができません

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

注:私は、フォルダの作業directory.This「specdata」であるfiles.Iは、のいずれかの意味を計算したいすべての332 CSVを持っている「specdata」を持っている

私はこのエラーを得ました汚染物質、それらのファイルに「汚染物質」という名前の列と「ディレクトリは、」これらのファイルの場所である「idが」モニターnumber.soに言及整数ベクトルで、ここに私のコードです:1として

pollutantmean <- function(directory, pollutant, id = 1:332) {    

    files_full <- list.files(directory, full.names = TRUE) 

    dat <- data.frame() 

    for (i in id) { 
    dat <- rbind(dat, read.csv(files_full[i])) 
    } 

    mean(dat[, pollutant], na.rm = TRUE) 
    } 

    pollutantmean("specdata","sulfate",id = 1:10) 
+0

こんにちはアルーナ、あなたのlist.filesが空の文字列を作成したようです。あなたのディレクトリに追加のファイルがある場合に備えて、あなたのlist.files呼び出しに 'pattern =" csv "'を追加したいかもしれません。 – biomiha

答えて

0

エラー、それはlist.filesファイル名の空のベクトルを返すようです。

list.filesは、デフォルトでディレクトリ内にファイルnamのみを返します。その場合、まず作業ディレクトリを設定して、read.csvが作業ディレクトリ内のファイルを読み込むようにします。

setwd("<directory name>") 

これで機能は正常に動作するはずです。

+0

こんにちはNishu、私は332のCSVファイル名と、このコードを使用して関数を呼び出そうとすると、list.files.Butから "pollutantmean.R"という関数を保存しました。pollutantmean( "specdata"、 "sulfate"、id = 1)、上記の2つのエラーが発生します。 –

+0

私はこの課題のためのガイドとしてこのリンクを使用しました:http://xmuxiaomo.github.io/2015/06/10/R-Programming-Assignment-1/ –

+0

ええアルナ、それは明らかです。 read.csv関数は作業ディレクトリからファイルを読み込もうとしていますが、332のcsvファイルを持つものではありません。作業ディレクトリをcsvフォルダに設定する必要があります。 –

関連する問題