R if/else语句中的大括号问题

R if/else语句中的大括号问题,r,function,if-statement,R,Function,If Statement,我对R非常陌生,我正在尝试创建一个带有一些地理输出的函数。我试图包含一些if/else语句来设置某些参数(如地图标题)的默认值,但多次遇到相同的问题。其他人也有同样的问题,但他们的回答对我没有帮助 下面是我的代码的简化版本,以及我遇到的错误 my_function <- function(x, y, map.title, a, ... ){ neighbours <- spdep::poly2nb(x, queen=T, snap=T) print("neigh

我对R非常陌生,我正在尝试创建一个带有一些地理输出的函数。我试图包含一些if/else语句来设置某些参数(如地图标题)的默认值,但多次遇到相同的问题。其他人也有同样的问题,但他们的回答对我没有帮助

下面是我的代码的简化版本,以及我遇到的错误

   my_function <- function(x, y, map.title, a, ... ){
    neighbours <- spdep::poly2nb(x, queen=T, snap=T)
    print("neighbours defined")
    local <- spdep::localmoran(y, listw=nb2listw(neighbours, style="W")) 
    moran_map <- x
    moran_map@data <- cbind(x@data, local)
  if(map.title = NULL) {
    seg_map <- tmap::tm_shape(moran_map) +
               tm_fill(col = "Ii",
                       style = "quantile",
                       title = "Local Moran's I Statistic") +
               tm_layout(title = "Good Maps Have Titles")
    return(map) 
} else {
    seg_map <- tmap::tm_shape(moran_map) +
                     tm_fill(col = 'Ii',
                             style = 'quantile',
                             title = "Local Moran's I Statistic",
                             palette = a) +
                     tm_layout(title = map.title)
   return(map) 
   }
}
有人知道我做错了什么吗?我怎样才能解决这个问题


非常感谢

在出现这些错误之前,您有一个较早的错误:

+   if(map.title = NULL) {
Error: unexpected '=' in:
"    moran_map@data <- cbind(x@data, local)
  if(map.title ="
+if(map.title=NULL){
错误:中出现意外的“=”:

“莫兰_map@data这在R:
map.title=NULL
中不起作用。请使用
isnull()
。map在哪里?请使用
return(seg\u map)
+   if(map.title = NULL) {
Error: unexpected '=' in:
"    moran_map@data <- cbind(x@data, local)
  if(map.title ="