如何在dplyr中进行连接操作?

Jac*_*ner 22 r dplyr

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

R代码:

library(dplyr)
a=data.frame(x=1,y=2)
b=data.frame(x=1,z=10)
aa=inner_join(a,b)
Run Code Online (Sandbox Code Playgroud)

对于最后一行,dplyr打印:

Joining by: "x"
Run Code Online (Sandbox Code Playgroud)

这对于交互式工作很有用,但是我在Rscript中运行并且所有这些线都堵塞了我的屏幕.

Gre*_*gor 21

如果你想变得笨拙,你可以做到

aa = suppressMessages(inner_join(a, b))
Run Code Online (Sandbox Code Playgroud)

正如Jazzurro所暗示的那样,更好的选择是指定by论点.dplyr仅打印一条消息,让您知道对于要加入哪些列的猜测.如果您没有猜到,它不会与您确认.

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

  • 答案已接受-suppressMessages 很有用。我希望有一个选项开关可以关闭该消息。但没有。我应该检查`dplyr`的代码:有一个`message("Joining by: ", capture.output(dput(by)))`,没有前面的ifs。只是一个评论,“dplyr”不会做出“猜测是要加入哪些列”,根据文档,它选择两个数据框中具有相同名称的列 - 没有猜测,恕我直言,应该没有信息... (2认同)