抑制 reader 解析 r 中的问题

Suppress reader parse problems in r

我目前正在使用包 readr 读取文件。我的想法是使用 read_delim 逐行读取以查找我的非结构化数据文件中的最大列数。代码输出有 parsing 个问题。我知道这些并将在导入后处理列类型。有没有办法关闭 problems(),因为通常的 options(warn) 不起作用

i=1
max_col <- 0
options(warn = -1)
while(i != "stop")
{
  n_col<- ncol(read_delim("file.txt", n_max = 1, skip = i, delim="\t"))
  if(n_col > max_col) {
    max_col <- n_col
    print(max_col)
  }
  i <- i+1
  if(n_col==0) i<-"stop"
}
options(warn = 0) 

我试图抑制的控制台输出如下:

.See problems(...) for more details.
Warning: 11 parsing failures.
row      col   expected  actual
  1 1####4 valid date 1###8

在 R 中,您可以在使用包时抑制三个主要烦人的事情:

  1. 条消息 suppressMessages(YOUR_FUNCTION)
  2. 警告suppressWarnings(YOUR_FUNCTION)
  3. 打包启动消息suppressPackageStartupMessages(YOUR_FUNCTION)

因此,在您的情况下,恕我直言,还要让包开发人员知道,以便 he/she 可以在函数中添加一个 verbose 参数。

如果您将 rmd 'R Markdown' 与 RStudio 一起使用,您可以传入以下参数,这将抑制警告消息和列名称。

```{r warning = FALSE, message=FALSE}

HTH
AA