如何在sp :: merge()中禁用警告?

时间:2016-07-18 11:25:01

标签: r spatial sp

我正在使用sp::mergeSpatialPologynDataFrame与data.frame合并:

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

merge()让我对Warning message: In .local(x, y, ...) : 12 records in y cannot be matched to x感到恼火,我非常清楚这一点。如何让他安静?我确实试图放all.y = FALSE。如果必须将y预先过滤到只匹配x的那些人,那会感觉有点愚蠢。这就是合并应该做的事情,只是没有开玩笑: - )

PS:我没有要求全局警告抑制,只是如何在此功能中禁用。

PS 2:我还是不明白为什么sp :: merge()会在这种情况下发出警告,当base :: merge()没有!:

z <- merge(x@data, y, by.x = "field1", by.y = "field2") 
# spatial info dropped, base::merge() called, no warning now

1 个答案:

答案 0 :(得分:3)

只需在脚本options(warn=-1)之上运行此行。要重新设置warn = 0集。我在这里读到了这个,但实际上找不到链接,所以发布了答案。但请注意,这将在全球范围内关闭警告。

对于单行,您可以使用suppressWarnings(yourcode)。希望这会有所帮助。