它只是一个基本的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))
答案 0 :(得分:3)
您应该使用R中的标准if
和else
结构,由R language definition定义。
当if语句不在块中时,else(如果存在)必须 与statement2的结尾出现在同一行。否则新的 statement2末尾的行完成if并产生a 语法完整的语句,被评估。简单的解决方案 是使用包裹在大括号中的复合语句,将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