在r中抑制读者解析问题

时间:2016-05-26 13:47:15

标签: r readr

我目前正在使用包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

2 个答案:

答案 0 :(得分:19)

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

  1. 消息suppressMessages(YOUR_FUNCTION)
  2. 警告suppressWarnings(YOUR_FUNCTION)
  3. 包启动消息suppressPackageStartupMessages(YOUR_FUNCTION)
  4. 所以在你的情况下,imho也让包开发者知道,以便他/她可以在函数中添加一个verbose参数。

答案 1 :(得分:6)

如果在RStudio中使用rmd'R Markdown',则可以传入以下参数,该参数将禁止显示警告消息以及列名。

RMD warning suppress

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

HTH
AA