如何使 dplyr 中的连接操作静音?

How to make join operations in dplyr silent?

dplyr(版本 0.4.1)打印执行连接的列名。是否可以关闭此选项?

R代码:

library(dplyr)
a=data.frame(x=1,y=2)
b=data.frame(x=1,z=10)
aa=inner_join(a,b)

对于最后一行,dplyr 打印:

Joining by: "x"

这对交互式工作来说很好,但我 运行 在 Rscript 中,所有这些行都阻塞了我的屏幕。

想重手的话可以

aa = suppressMessages(inner_join(a, b))

正如 Jazzurro 所建议的,更好的选择是指定 by 参数。 dplyr 只打印一条消息,让您知道它对要加入的列的猜测是什么。如果你不让它猜测,它就不会向你确认事情。从防御性编码的角度来看,这也是一个更安全的选择。

如果这是在 knitr 文档中,您可以设置块选项 message=FALSE