私はRを初めて使用しますが、このエラーを詳細に調査した後でも、その解決策を見つけることができません。これがコードです。作業ディレクトリを確認し、ファイルが正しいディレクトリにあることを確認しました。感謝します。ありがとう
pollutantmean <- function(directory, pollutant = "nitrate", id= 1:332)
{ if(grep("specdata",directory) ==1)
{
directory <- ("./specdata")
}
mean_polldata <- c()
specdatafiles <- as.character(list.files(directory))
specdatapaths <- paste(directory, specdatafiles, sep="")
for(i in id)
{
curr_file <- read.csv(specdatapaths[i], header=T, sep=",")
head(curr_file)
pollutant
remove_na <- curr_file[!is.na(curr_file[, pollutant]), pollutant]
mean_polldata <- c(mean_polldata, remove_na)
}
{
mean_results <- mean(mean_polldata)
return(round(mean_results, 3))
}
}
私が得ているエラーは次のとおりです:
Error in file(file, "rt") : cannot open the connection
file(file, "rt")
read.table(file = file, header = header, sep = sep, quote = quote,
dec = dec, fill = fill, comment.char = comment.char, ...)
read.csv(specdatapaths[i], header = T, sep = ",")
pollutantmean3("specdata", "sulfate", 1:10)
In addition: Warning message:
In file(file, "rt") :
cannot open file './specdata001.csv': No such file or directory
directory <- ("./specdata")
をdirectory <- ("./specdata/")
に変更する必要があります
現在の作業ディレクトリに対して、specdataディレクトリにあるファイル001.csvを探しています。
この質問は、ここで作業ディレクトリの構造を提供していないため、コンテキストなしで答えることはほぼ不可能です。幸いなことに、私は既にCourseraでRプログラミングを受講しているので、この宿題の質問をすでにしました。
作業ディレクトリを1レベル/フォルダ高く設定します。たとえば、既に次のように設定されている場合:
setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera/specdata")
1レベル前に戻り、次のように設定します。
setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera")
つまり、作業ディレクトリとして「specdata」フォルダを作成しないでください。
私は自分のコードの何が間違っているのかを理解しようと多くの時間を費やしました...
また、ウィンドウを使用している場合は簡単に思えます。
ファイルに「blabla.txt」という名前を付けると、ウィンドウに「blabla.txt.txt」という名前が付けられます。これは.CSVファイルでも同じなので、「001.csv.csv」という名前のファイルを作成すると、「001 .csv」
したがって、.csvファイルを作成するときは、名前を「001」に変更し、read.table("/absolute/path/of/directory/with/required/001.csv")
を使用してRで開きます。
わたしにはできる。
ファイルへのアクセス中にこのようなエラーが発生した場合に実行できるより良いチェックの1つは、file.exists("file_path/file_name")
関数を使用することです。この関数は、ファイルが既存でアクセス可能な場合はTRUE
を返し、そうでない場合はFalse
を返します。
rスタジオを閉じて、管理者として再度実行します。それは私にとって魔法でした。それがあなたとこれを通過する誰にとってもうまくいくことを願っています。
setwd()
を使用して、適切なディレクトリに変更します。ファイル名のみを使用して、作業ディレクトリ内のファイルにアクセスします。 "../<filename>"
を使用して上記のフォルダーに移動します。
Windowsで実行している場合は、Windows OSファイルシステムの制約を回避するために、管理者としてRまたはR Studioを実行してみてください。
同じ問題が発生しました。ファイル名から拡張子を削除しました。例:ファイル名はxyzとして保存されました。 csv。 xyzとして保存しました。
友人からRコードファイルを取得し、read.csvコマンドを実行できませんでしたが、同じコマンド(read.csv)を新しいRスクリプトファイルにコピーすると、問題なく実行されました。
私の友人が共有するRコードファイルで以下のコマンドが実行されていなかったため、新しいRスクリプトファイルを作成してコマンドの下で実行した場合、作業ディレクトリ、ファイル名などはすべて正しいものでした。
df <- read.csv("file.csv",header=TRUE,stringsAsFactors = FALSE,strip.white =
TRUE,sep = ',')
issue/resolution:Rコードファイルを右クリックしてファイルのブロックを解除し、[保存]ボタンをクリックすると、問題が解決しました。 RコードファイルがWindowsのダウンロードフォルダーにある場合、他のフォルダーに移動します。
これと同じエラーメッセージが表示され、できる限り簡単な方法で修正しました。 .csvファイルをデスクトップのファイルフォルダーに入れ、RStudioのコンソールの横にあるウィンドウでデスクトップを開き、そこでファイルを開き、.csvファイルの横にあるボックスにチェックマークを付けてから、「more」を使用しましたこのウィンドウの上部にあるメニューをプルダウンして、これを作業ディレクトリとして設定します...おそらく、私のようなスーパー初心者にとって最も簡単な方法です:)
このエラーが発生し、WindowsマシンのRStudioが\
をエスケープシンボルとして使用しようとしているため、それに対処するために\\
に置き換える必要がありました。
パスでfile.exists
関数を試してください。例:
file.exists("D:\\R\\path_to_file.csv")
このエラーは、パスでgetwd()の結果を直接使用しようとした場合にも発生します。問題は、最後の「/」の欠落です。次のコードを試してください:
projectFolder <- paste(getwd(), "/", sep = '')
Paste()は、最後にスラッシュを連結します。