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

安娜·鲁斯

我对 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) 
   }
}

我不断收到以下错误。

>Error: no function to return from, jumping to top level

>   }
Error: unexpected '}' in "  }"

>   }
Error: unexpected '}' in "  }"

有谁知道我做错了什么,我该如何解决这个问题?

非常感谢!

用户2554330

在你得到这些错误之前,你有一个更早的错误:

+   if(map.title = NULL) {
Error: unexpected '=' in:
"    moran_map@data <- cbind(x@data, local)
  if(map.title ="

不允许=if测试中使用单个通常你==用来测试一个值的相等性,但NULL很特殊,所以在这里你会想要is.null(map.title)(正如 Parfait 所说的)。

当 R 在该语句中发现错误时,它停止函数定义并重新开始;后来的陈述没有意义,所以你得到了这些错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ifelse语句中使用%in%?

来自分类Dev

无法在 case 语句中执行 ifelse 语句

来自分类Dev

忽略Ifelse语句中的NA-R

来自分类Dev

在 R 中的 ifelse 语句中是唯一的

来自分类Dev

在if语句中,大括号是否可用?

来自分类Dev

R中的ifelse语句

来自分类Dev

数据清理-ifelse语句

来自分类Dev

R中的ifelse语句

来自分类Dev

多个ifelse语句

来自分类Dev

Excel VBA Ifelse语句

来自分类Dev

解决R中ifelse语句中指定日期范围的问题

来自分类Dev

解决R中ifelse语句中指定日期范围的问题

来自分类Dev

如何使R在if或ifelse语句中识别一对组合变量?

来自分类Dev

R中嵌套ifelse语句中的值丢失

来自分类Dev

使用R的ifelse语句中未使用的参数错误

来自分类Dev

如何使R识别if或ifelse语句中的一对组合变量?

来自分类Dev

链接ifelse语句的明智方法?

来自分类Dev

使用ifelse语句压缩变量

来自分类Dev

加快嵌套ifelse语句-R

来自分类Dev

for 循环中的嵌套 ifelse 语句

来自分类Dev

NetLogo中嵌套ifelse的问题

来自分类Dev

“使用”语句与大括号

来自分类Dev

If / Else语句大括号

来自分类Dev

R中嵌套ifelse语句的替代方法

来自分类Dev

在r中使用ifelse语句创建seq

来自分类Dev

apply中的ifelse语句返回意外结果

来自分类Dev

规则表避免嵌套ifelse语句

来自分类Dev

ifelse语句如何减少代码长度

来自分类Dev

基于r中条件向量的ifelse语句