【问题标题】:Silence vroom::vroom?沉默 vroom::vroom?
【发布时间】:2020-03-13 11:59:11
【问题描述】:

vroom::vroom() 给控制台一个相当冗长的message。例如:

> my_data = vroom::vroom("my_data.csv")

## Rows: 6,608                                                                                                                                                                                                                                                           
## Columns: 9
## Delimiter: ";"
## chr  [2]: panel_rev, pcb_rev
## dbl  [5]: panel_id, panel_type, work_order_lot_id, location_id, panel_number
## dttm [2]: marking_dt, created_dt
## 
## Use `spec()` to retrieve the guessed column specification
## Pass a specification to the `col_types` argument to quiet this message

除了my_data = suppressMessages(vroom::vroom("my_data.csv")) 之外,还有其他方法可以使其静音吗?或者这是首选方法吗?

【问题讨论】:

  • 目前没有看到任何方法可以避免在show_spec_summary(out, locale = locale) 中运行vroom 行,显然用户不想看到这个。仍在等待tidyverse 包裹do_all_my_thinking_for_me

标签: r csv verbosity


【解决方案1】:

不确定这些是否是新功能,因为此问题已得到解答,但设置 progress = FALSEcol_types = cols() 可用于完全静音 vroom::vroomcol_types = cols()大多数 tidyverse 数据加载函数中很常见:

my_data <- vroom::vroom("my_data.csv", progress = FALSE, col_types = cols())

【讨论】:

    【解决方案2】:

    到目前为止,您最好的选择是抑制消息并抑制进度条,如下所示:

    1. 通过设置这个环境变量来抑制进度条

      Sys.setenv("VROOM_SHOW_PROGRESS"="false")
      
    2. 抑制消息:

      suppressMessages(vroom("myfile"))
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多