0

それは単なる基本的な ifelse ですが、「予期しないシンボル」というエラーを返し、最後の行の最初の文字を指しています。何か案は?

input1<-readline("using C:/Users/HouseGroup/Desktop/betterformat.csv as the target csv file.
  Is this correct?  Y/N" )
ifelse (input1=="Y",
theData <- read.csv("C:/Users/HouseGroup/Desktop/betterformat.csv"),
rightDir<- readline("please input the proper file path") 
theData<-  read.csv(rightDir))
4

1 に答える 1

3

R 言語定義 で定義されているように、R では標準ifelse構造を使用する必要があります。

if ステートメントがブロック内にない場合、else が存在する場合は、statement2 の末尾と同じ行に表示する必要があります。それ以外の場合、statement2 の最後の新しい行は if を完了し、評価される構文的に完全なステートメントを生成します。簡単な解決策は、中かっこで囲まれた複合ステートメントを使用し、else をステートメントの終わりを示す閉じ中かっこと同じ行に置くことです。

if (input1=="Y") {
  theData <- read.csv("C:/Users/HouseGroup/Desktop/betterformat.csv")
} else {
  rightDir <- readline("please input the proper file path") 
  theData <- read.csv(rightDir)
}

このコマンドifelseはベクトルを取り、ベクトルを返します。例については、 を参照?ifelseしてください。

x <- c(6:-4)
sqrt(x)  #- gives warning
sqrt(ifelse(x >= 0, x, NA))  # no warning
于 2013-01-31T19:01:28.533 に答える