title: Purr::map_df - how to not abort when error occurs?
body: <p>I work in R and use map_df to loop throu applications with a function that extracts data.</p>
  <p>I loop throu around 750 applications and for a majority of applications it works. But sometimes R throws an error (incorrect number of dimensions), and the loop aborts.</p>
  <p>I wonder if there is a way to modify my code so the loop dosen't abort when such an error occurs? I would like to just move on and continue to build the dataset with the applications that works.</p>
  <pre><code>library(pdftools)
  library(tidyverse)
  library(tesseract)
  library(reshape2)
  
  #Function to read data from pdf application
  
  fyh_pdf &lt;- function(pdf) {
    pdf &lt;- pdftools::pdf_text(pdf)
    
    string &lt;- paste0(pdf, collapse = &quot;&quot;)
    
    steg1 &lt;- str_extract_all(string, 
                             regex(&quot;(?&lt;=Arbetslivets medverkan i utbildningens planering och genomförande).+?(?=Organisation och ledning av utbildningen)&quot;, 
                                   dotall = TRUE,ignore_case = TRUE))[[1]]
    
    steg2 &lt;- str_match_all(steg1, regex(&quot;Organisationsnamn: *([^\\r\\n]+?)\\r\\n.*?Insatt: *([^\\r\\n]+?)\\r\\n.*?Medverkan planering: *([^\\r\\n]+?)\\r\\n.*?Uppskattat anställningsbehov: *([^\\r\\n]+?)\\r\\n.*?Andra rekryteringsvägar: *([^\\r\\n]+?)\\r\\n.*?LIA-platser: *([^\\r\\n]+?)\\r\\n.*?Medfinansiering: *([^\\r\\n]+?)\\r\\n.*?Status: *([^\\r\\n]+?)\\r\\n&quot;,
                                        dotall=T))[[1]][,-1] 
    
    df &lt;- tibble(utbildning_namn = str_extract(string, regex(&quot;(?&lt;=Utbildningens namn:\r\n).*&quot;)),
                 utbildning_anordnare = str_extract(string, regex(&quot;(?&lt;=Ansvarig utbildningsanordnare:\r\n).*&quot;)),
                 ansökningsnummer = str_extract(string, regex(&quot;(?&lt;=Ansökningsnummer:\r\n).*&quot;)),
                 organisationsnamn=steg2[,1], insatt=steg2[,2], medverkan_planering=steg2[,3], uppskattat_anställningsbehov=steg2[,4],
                 andra_rekryteringsvägar=steg2[,5], LIA_platser=steg2[,6], medfinansiering=steg2[,7], status=steg2[,8]) %&gt;% 
      mutate(utbildning_namn = str_trim(utbildning_namn, side = &quot;left&quot;),
             utbildning_anordnare = str_trim(utbildning_anordnare, side = &quot;left&quot;),
             ansökningsnummer = str_trim(ansökningsnummer, side = &quot;left&quot;))
    
    return(df)
  }
  
  #Let's loop!
  
  setwd(&quot;H:/R/YH_ANSÖKNINGAR/YH_2018/&quot;)
  filenames &lt;- list.files(path = &quot;H:/R/YH_ANSÖKNINGAR/YH_2018/&quot;) %&gt;% 
    str_subset(pattern=&quot;_Ans_&quot;)
  
  
  df &lt;- map_df(.x = filenames, ~fyh_pdf(pdf = .x))
  </code></pre>