is it better to use integer64, numeric, or character for large integer id numbers?
<p>I am working with a dataset that has several columns that represent integer ID numbers (e.g. <code>transactionId</code> and <code>accountId</code>). These ID numbers are are often 12 digits long, which makes them too large to store as a 32 bit integer.</p>
<p>What's the best approach in a situation like this?</p>
<ol>
<li>Read the ID in as a character string.</li>
<li>Read the ID as a integer64 using the bit64 package.</li>
<li>Read the ID as a numeric (i.e. double).</li>
</ol>
<p>I have been warned about the dangers of testing equality with doubles, but I'm not sure if that will be a problem in the context of using them as IDs, where I might merge and filter based on them, but never do arithmetic on the ID numbers.</p>
<p>Character strings seems intuitively like it should be slower to test for equality and do merges, but maybe in practice it doesn't make much of a difference.</p>