75

Webからファイルをロードすることから始まるRマークダウンファイルを作成しました。cache = TRUEが少し不安定であることがわかったので、ダウンロードする前に、ダウンロードしたファイルをチェックするためにif条件を設定したいと思います。

現在のコード-常にファイルをダウンロードします

fileURL <- "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"
setInternet2(TRUE)
download.file(fileURL ,destfile="./data/samsungData.rda",method="auto")
load("./data/samsungData.rda")

必要なコード-まだダウンロードされていない場合にのみアップロードする

 destfile="./data/samsungData.rda"    
 fileURL <-
 "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"   
 if (destFile doesNotExist) {
    setInternet2(TRUE)
    download.file(fileURL ,destfile,method="auto") }
    load("./data/samsungData.rda")
 }
 load(destfile)

「destFiledoesNotExist」という条件を与える構文

4

3 に答える 3

82

使用できますtryCatch

  if(!file.exists(destfile)){
    res <- tryCatch(download.file(fileURL,
                              destfile="./data/samsungData.rda",
                              method="auto"),
                error=function(e) 1)
    if(dat!=1) load("./data/samsungData.rda") 
}
于 2013-02-16T00:07:18.387 に答える
26

@agstudy の回答によると

 destfile="./data/samsungData.rda" 
 fileURL <-
 "https://dl.dropbox.com/u/7710864/courseraPublic/samsungData.rda"   
 if (!file.exists(destfile)) {
    setInternet2(TRUE)
    download.file(fileURL ,destfile,method="auto") }
    load("./data/samsungData.rda")
 }
 load(destfile)
于 2013-02-16T12:43:40.110 に答える
11

作業ディレクトリ内のファイルの存在を確認する簡単な方法は次のとおりです: which(list.files() == "nameoffile.csv")

これは彼の質問に正確に答えるものではありませんが、特定のファイルがディレクトリにあるかどうかを確認したいだけの人には役立つかもしれないと思いました。

于 2017-10-21T10:57:23.650 に答える