本文介绍了运行dplyr::Left_Join时禁止注释通过...连接(&Q;)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能很简单,但我在任何地方都找不到答案...

当我使用以下代码时

library("nycflights13")
result <- flights %>% 
    dplyr::select(year:day, hour, origin, dest, tailnum, carrier) %>% 
    dplyr::left_join(airlines)

屏幕上会回显以下备注:

> Joining by: "carrier"

这当然是在交互会话中可以看到的有用信息,但当我将left_join作为较长脚本的一部分使用时,我通常不希望回显这种类型的注释(尤其是当该脚本通过CONTER生成html报告时,因为该html还将包含打印的Joining by: "carrier"行。

如何防止LEFT_JOIN(等)打印此评论?

谢谢你,Peter

推荐答案

@Khashaaa的评论指出了一种阻止消息的方法,如果您事先知道绑定变量,这种方法既有用又简洁。有关如何使用一个或多个变量执行此操作,请参阅?dplyr::join。给定示例的语法为

left_join(airlines,by="carrier")
因为dplyr代码使用R的message()函数来发出Joining by: *消息,所以您可以使用R的suppressMessages()包装器(或任何其他dplyr联接)来抑制这些消息。有关详细信息,请参阅?message。OP示例实际上返回两种消息,

>library("nycflights13")
>library("dplyr")
>result <- flights %>% 
+    select(year:day, hour, origin, dest, tailnum, carrier) %>% 
+    left_join(airlines)
Joining by: "carrier"
Warning message:
In left_join_impl(x, y, by$x, by$y) :
  joining factor and character vector, coercing into character vector

可以使用suppressMessages()包装器隐藏第一条消息

>suppressMessages(result <- flights %>% 
+    select(year:day, hour, origin, dest, tailnum, carrier) %>% 
+    left_join(airlines))
Warning message:
In left_join_impl(x, y, by$x, by$y) :
  joining factor and character vector, coercing into character vector
第二条消息是诊断警告消息。有关详细信息,请参阅?warning;有几种方法可以处理这种情况。如果您选择像前面的消息一样隐藏它,一种方法是添加另一个包装器

> suppressWarnings(suppressMessages(result <- flights %>% 
+         select(year:day, hour, origin, dest, tailnum, carrier) %>% 
+         left_join(airlines)))
> 

这篇关于运行dplyr::Left_Join时禁止注释通过...连接(&Q;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 00:19