title: masking conflicts
body: <p>When loading a <code>.csv</code> with <code>sqldf</code>, everything goes fine until I load <code>data.table</code>. For example:</p>
  
  <pre><code>library(sqldf)
  write.table(trees, file="trees.csv", row.names=FALSE, col.names=FALSE, sep=",")
  my.df &lt;- read.csv.sql("trees.csv", "select * from file", 
          header = FALSE, row.names = FALSE)
  </code></pre>
  
  <p>works, while</p>
  
  <pre><code>library(data.table)
  my.df &lt;- read.csv.sql("trees.csv", "select * from file", 
          header = FALSE, row.names = FALSE)
  # Error in list(...)[[1]] : subscript out of bounds
  </code></pre>
  
  <p>Doesn't. When loaded, <code>data.table</code> informs you that</p>
  
  <pre><code>The following object(s) are masked from 'package:base':
  
     cbind, rbind
  </code></pre>
  
  <p>So, I tried this</p>
  
  <pre><code>rbind &lt;- base::rbind  # `unmask` rbind from base::
  library(data.table)
  my.df &lt;- read.csv.sql("trees.csv", "select * from file", 
          header = FALSE, row.names = FALSE)
  rbind &lt;- data.table::rbind # `mask` rbind with data.table::rbind
  </code></pre>
  
  <p>which works. Before I litter all my code with this trick:</p>
  
  <p><em>What is the best practise solution to deal with masking conflicts in R?</em></p>
  
  <p><strong>EDIT</strong>: There is a closely related thread <a href="https://stackoverflow.com/q/3241539/986817">here</a>, but no general solution is suggested. </p>