我正在使用sp::merge
将SpatialPologynDataFrame
与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
答案 0 :(得分:3)
只需在脚本options(warn=-1)
之上运行此行。要重新设置warn = 0
集。我在这里读到了这个,但实际上找不到链接,所以发布了答案。但请注意,这将在全球范围内关闭警告。
对于单行,您可以使用suppressWarnings(yourcode)
。希望这会有所帮助。