2016-07-18 14 views
1

私はdata.frameでSpatialPologynDataFrameをマージするsp::mergeを使用しています:sp :: merge()で警告を無効にする方法?

z <- merge(x, y, by.x = "field1", by.y = "field2") 

マージは、()、私は非常によくを認識していWarning message: In .local(x, y, ...) : 12 records in y cannot be matched to x、と私を悩まします。彼を静かにする方法?私はall.y = FALSEを入れようとしました。 xにマッチする人だけにyをあらかじめフィルタリングしなければならないのはちょっとばかげているでしょう。

PS:私はグローバルな警告抑制を求めていませんでした。この機能では無効にする方法だけでした。

PS 2:SP ::マージは、()ベース::マージは、()

z <- merge([email protected], y, by.x = "field1", by.y = "field2") 
# spatial info dropped, base::merge() called, no warning now 
+0

'suppressWarnings'の' merge'を呼び出して、 'merge'の呼び出しの警告を取り除くことができます。 –

+0

私はあなたの欲求不満を理解し、質問を再開することに投票しました。しかし、非常に多くの感嘆符を使用すると、あなたが私たちの顔で叫んでいるように見えます:)。 –

+0

感謝@PaulHiemstra、私は実際に叫んでいた、と私は喜んで正直なところ非常にきれいに再び開かれて驚いた。元の理由が消えたので、今この会話をクリーンアップすることをお勧めします。 – TMS

答えて

3

ちょうどの上にこの行を実行し!:ないときに、このことについて警告し、なぜ私はまだ理解していませんあなたのスクリプトoptions(warn=-1)。再度の設定を元に戻す。私はここでこれを読んでいますが、実際にはリンクを見つけて回答を投稿することはできませんでした。しかし、これは警告をグローバルにオフにすることに注意してください。

1行にはsuppressWarnings(yourcode)を使用できます。お役に立てれば 。

+0

私の最初の質問は、この特定の警告のみを無効にする方法です。しかし、これは最後の手段として便利になるかもしれません... – TMS

+0

+1、私は解決策を逆にし、 'supressWarnings'を先に入れます。これは、OPの問題を解決します。 –

+0

@PaulHiemstra、まあ、適切な解決策ではなく、非常にいいハッキングだと思うでしょう。これは、マージがさまざまな、おそらく有用な警告を出す可能性があるため、*この*について警告しないようにマージを説得することでしょう。このハックを使用してミスします。私は完璧主義者であることを知っている。 sp :: merge()は警告してはいけませんし、Rよりも優先順位が低いメッセージでなければなりません。なぜなら、merge()がこれについて警告する理由は分かりません。 ! – TMS

関連する問題