title: Issue with renaming data.table
body: <p>So I have the following data.table issue: </p>
  
  <pre><code>library(data.table)
  dt1&lt;-data.table(V1=runif(10),V2=sample(10),ID=1:10)
       dt1
                  V1 V2 ID
       1: 0.26880759 10  1
       2: 0.59148373  9  2
       3: 0.15106101  8  3
       4: 0.64780998  5  4
       5: 0.09067745  7  5
       6: 0.57337100  2  6
       7: 0.17920313  3  7
       8: 0.87948063  4  8
       9: 0.25167438  1  9
      10: 0.82715461  6 10
  </code></pre>
  
  <p>and I am wishing to perform a column rename (except one column, namely the "ID").Although <code>names(dt1[,-"ID"])</code> works OK yielding: </p>
  
  <pre><code>[1] "V1" "V2"
  </code></pre>
  
  <p>The following command fails:</p>
  
  <pre><code>   names(dt1[,-"ID"])&lt;-c("souksou","mouksou")
     Error in -"ID" : invalid argument to unary operator
  </code></pre>
  
  <p>Of course the issue is bypassed via:  </p>
  
  <pre><code>names(dt1)[!(names(dt1)  %in% "ID")]&lt;-c("souksou","mouksou")
  
  names(dt1)
  [1] "souksou" "mouksou" "ID"
  </code></pre>
  
  <p>My question to the community is <em>why</em> this happens. </p>