私はRには新しく、いくつかの地理的出力を持つ関数を作成しようとしています。私はいくつかのif/elseステートメントを含めてマップタイトルのような特定のパラメータのデフォルトを設定しようとしていますが、同じ問題が繰り返し発生しています。他の人たちも同じ問題を抱えていますが、彼らの質問が私を助けてくれたわけではありません。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
[email protected] <- cbind([email protected], 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 " }"
私が間違っていることを誰かが知っていますか?これをどのように修正できますか?
ありがとうございます!
これはR: 'map.title = NULL'では動作しません。 'isnull()'を使ってください。 – Parfait
そして、* map *はどこですか? 'return(seg_map)'を使ってください。 – Parfait