首页 > 解决方案 > 错误:运行这段 R 代码时“}”中出现意外的“}”

问题描述

运行以下代码时出现错误:“}”中的意外'}'

但是,没有开放的双括号或单括号

df3["Zone"]<-1
usq<-0
for(i in 1:nrow(df3)){ 
  if(df3$state = "Kerala"){
    paste(df3$Zone[i] <- "SW")
  }
  else if(df3$state = "Karnataka"){
    paste(df3$Zone[i] <- "SW")
  }
  else if(df3$state = "Goa"){
    paste(df3$Zone[i] <- "SW")
  }
  else if(df3$state = "Maharashtra"){
    paste(df3$Zone[i] <- "NW")
  }
  else if(df3$state = "Gujarat"){
    paste(df3$Zone[i] <- "NW")
  }
  else if(df3$state = "Tamilnadu"){
    paste(df3$Zone[i] <- "SE")
  }
  else if(df3$state = "Andhra Pradesh"){
    paste(df3$Zone[i] <- "SE")
  }
  else if(df3$state = "Pondicherry"){
    paste(df3$Zone[i] <- "SE")
  }
  else if(df3$state = "Orissa"){
    paste(df3$Zone[i] <- "NE")
  }
  else if(df3$state = "West Bengal"){
    paste(df3$Zone[i] <- "NE")
  }
  usq<- print(df3)
  df3.1<-data.frame(usq)
}

我还想知道如何为每个区域编写一个 if 语句,即对于喀拉拉邦、卡纳塔克邦和果阿邦,它应该粘贴“SW”等其他区域

提前致谢!

标签: rsyntax-error

解决方案


不确定您的第一个问题,但要组合 if 语句,您可以使用 or 运算符“||”

else if((df3$state == "Karnataka") || (df3$state == "Kerala") || ...)

对R不太熟悉,但这应该可以


推荐阅读