Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress reader parse problems in r

Tags:

r

readr

I am currently reading in a file using the package readr. The idea is to use read_delim to read in row for row to find the maximum columns in my unstructured data file. The code outputs that there are parsing problems. I know of these and will deal with column type after import. Is there a way to turn off the problems() as the usual options(warn) is not working

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) 

The output to console that I am trying to suppress is the following:

.See problems(...) for more details.
Warning: 11 parsing failures.
row      col   expected  actual
  1 1####4 valid date 1###8
like image 220
Hanjo Odendaal Avatar asked May 26 '16 13:05

Hanjo Odendaal


2 Answers

In R you can suppress three main annoying things while using packages:

  1. messages suppressMessages(YOUR_FUNCTION)
  2. warnings suppressWarnings(YOUR_FUNCTION)
  3. package startup messages suppressPackageStartupMessages(YOUR_FUNCTION)

So in your case imho also let the package developer knows so that he/she can for example add a verbose argument in the function.

like image 137
Mehrad Mahmoudian Avatar answered Nov 04 '22 00:11

Mehrad Mahmoudian


if you are using rmd 'R Markdown' with RStudio, you can pass in the following arguments which will suppress the warning messages as well as the columns names.

RMD warning suppress

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

HTH
AA

like image 24
Amod Avatar answered Nov 04 '22 01:11

Amod