title: Remove attributes from data read in readr::read_csv
body: <p><code>readr::read_csv</code> adds attributes that don't get updated when the data is edited. For example,</p>
  
  <pre><code>library('tidyverse')
  df &lt;- read_csv("A,B,C\na,1,x\nb,1,y\nc,1,z")
  
  # Remove columns with only one distinct entry
  no_info &lt;- df %&gt;% sapply(n_distinct)
  no_info &lt;- names(no_info[no_info==1]) 
  
  df2 &lt;- df %&gt;% 
    select(-no_info)
  </code></pre>
  
  <p>Inspecting the structure, we see that column B is still present in the attributes of <code>df2</code>:</p>
  
  <pre><code>&gt; str(df)
  Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame':    3 obs. of  3 variables:
   $ A: chr  "a" "b" "c"
   $ B: num  1 1 1
   $ C: chr  "x" "y" "z"
   - attr(*, "spec")=
    .. cols(
    ..   A = col_character(),
    ..   B = col_double(),
    ..   C = col_character()
    .. )
  &gt; str(df2)
  Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame':    3 obs. of  2 variables:
   $ A: chr  "a" "b" "c"
   $ C: chr  "x" "y" "z"
   - attr(*, "spec")=
    .. cols(
    ..   A = col_character(),
    ..   B = col_double(),
    ..   C = col_character()
    .. )
  &gt; attributes(df2)
  $class
  [1] "spec_tbl_df" "tbl_df"      "tbl"         "data.frame" 
  
  $row.names
  [1] 1 2 3
  
  $spec
  cols(
    A = col_character(),
    B = col_double(),
    C = col_character()
  )
  
  $names
  [1] "A" "C"
  
  &gt; 
  </code></pre>
  
  <p>How can I remove columns (or any other updates to the data) and have the changes accurately reflected in the new data structure and attributes?</p>