<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 15/12/13 23:26, Huashan Chen wrote:<br>
    </div>
    <blockquote cite="mid:1387149983998-4682250.post@n4.nabble.com"
      type="cite">
      <pre wrap="">Hi Matthew,

Thank you for the thoughtful reply. It's from a real example I am using
where a master dataset is to be merged with other datasets by selected rows
and columns(may or may not exist in master dataset). This function is call
multiple times. As can see from the simple example, a master dataset is
passed in by reference to avoid duplications. 

As you also pointed out, alloc.col(DT, some large value) outside the
function can fix this problem. But I am wondering if the all.col() call
within the function could be more preferable?</pre>
    </blockquote>
    If the name of the master table doesn't change,  then you don't need
    to pass it in at all.   Just use it directly inside the function and
    then yes the alloc.col will work.   But if it's being merged with
    another dataset, then that merge will create a new table so I'm now
    confused again as the code didn't come through in this thread from
    nabble.<br>
    <br>
    The question seems like a good one and would be best on Stack
    Overflow where we can see the code, edit and comment etc.<br>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <a
href="http://stackoverflow.com/questions/tagged/data.table?sort=active&pagesize=50">http://stackoverflow.com/questions/tagged/data.table</a><br>
    <br>
    Thanks, Matt<br>
    <br>
  </body>
</html>