5

私はチュートリアルに取り組んでいますが、構文に苦労しています。どこが間違っているのかわかりませんが、コンソールからエラー メッセージが表示されます。

ディレクトリに 300 個の csv ファイルのリストがあります。ユーザーは、情報を求めているファイルの番号 (id) を入力します。フォーマットは次のようになります: 001.csv、002.csv、090.csv 250.csv など。

関数は、入力を csv ファイル名である文字列に変換することです。たとえば、id が 5 の場合、005.csv を返します。220に入力すると、220.csvを出力します。

コードは次のとおりです。

csvfile <- function(id) {
  if (id < 10) { paste0(0,0,id,".csv"
  } else if (id < 100) {paste0(0,id,".csv"
  }else paste0(id,".csv")
}

コンソールが返すエラーは次のとおりです。

> csvfile <- function(id) {
+ if (id < 10) { paste0(0,0,id,".csv"
+ } else if (id < 100) {paste0(0,id,".csv"
Error: unexpected '}' in:
"if (id < 10) { paste0(0,0,id,".csv"
}"
> }else paste0(id,".csv")
Error: unexpected '}' in "}"
> }

R が私の '}' の一部を気に入らないことがわかりますが、その理由がわかりません。構文の何が問題になっていますか?

4

2 に答える 2

19

最初の2回の呼び出し)で、いくつかの文字が欠落しています。paste0

csvfile <- function(id) {
    if (id < 10) { 
        paste0(0,0,id,".csv")
    } else if (id < 100) {
        paste0(0,id,".csv")
    } else paste0(id,".csv")
}
于 2013-01-15T14:27:23.847 に答える
7

R の構文エラーは、最初は見つけにくいものです。コンソールは 1 行のコードをテストするのに適していますが、より長いステートメントを記述しようとするとあまり役に立ちません。

私のアドバイスは、IDE を使用して関数の作成を支援することです。たとえば、RStudioを試してみませんか?

于 2013-01-15T14:37:32.687 に答える