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 语言定义if中定义的标准和else构造。

当 if 语句不在块中时,else(如果存在)必须与语句 2 的结尾出现在同一行。否则 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 回答