私は興味のあるデータ(種の存在)の値が1で残りが0(不在)またはNAのラスタを持っています。 私はmagrittrとdplyrを使用しようとしています。パイプの中で、すべての0の値をNAに変更したいので、後でラスタをトリミングして種があるデータの最小座標と最大座標を取得できます(value = 1)%>%パイプ内のラスタ値を変更します
しかし、NAに値0を変更すると、私は通常のようなものとするだろう何かである:
raster[values(raster) == 0] <- NA
私はmagrittrで、「右から左に」、トラブルの操作のようなものをやってを持っている(ことができます彼らはやる?)。私はnames() <-
がsetNames()
によってexchanchedすることができること、またはあなたが操作記号を使用するために ``記号を使用することができることを学びました(すなわち:raster %>%
* (raster2)
が別のラスタで乗算する) `
ありがとうございました!
関数 'zero_to_na <-function(x){x [values(x)== 0] < - NA; x} 'を作成し、あなたのパイプでそれを使用してください:' raster%>%zero_to_na'。結局、Rは関数型言語です。意図をより明確にする関数を書くことを恐れないでください。 – MrFlick
すごくいいですよね!ありがとう@MrFlick、それは完全に動作します。 しかし、すでに実装されている方法があるのだろうかと疑問に思っています。もし私が何かを見逃しているのか、パイプのために翻訳するのが簡単ではないのか分かりません。右操作から左操作) –