<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Malcolm,</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Thanks for the nice report. I suppose your `dt` creation should be: `dt <- CJ(vec1, vec2)`. The reason is pretty clear. It's an easy fix. Could you please file a bug report? Thank you.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div> <div id="bloop_sign_1392413856469431808" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">Arun</div></div> <div style="color:gray"><hr style="style:linear">From: <span style="color:black">Malcolm Hawkes</span> <a href="mailto:mhawkes@gcmlp.com">Malcolm Hawkes</a><br>Reply: <span style="color:black">Malcolm Hawkes</span> <a href="mailto:mhawkes@gcmlp.com">mhawkes@gcmlp.com</a><br>Date: <span style="color:black">February 14, 2014 at 10:34:21 PM</span><br>To: <span style="color:black">datatable-help@lists.r-forge.r-project.org</span> <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>Subject: <span style="color:black"> [datatable-help] CJ and setkey sort differently <br></span></div> <blockquote type="cite" class="clean_bq"><span><div><div>





<!-- converted from rtf -->


<title></title>


<div><font face="Courier New" size="2"><span style="font-size:10pt;">Ran in to the warning</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">Warning in setkeyv(x, cols, verbose = verbose)
:</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">  Already keyed by this key but had invalid
row order, key rebuilt. If you didn't go under the hood please let
datatable-help know so the root cause can be
fixed.</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">You can reproduce it with</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">vec1 <- c("CMDTY", "Copper",
"CORPOAS")</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">vec2 <-  1:3</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">dt <- CJ(vec1, Date)</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;">setkey(dt, V1, V2)</span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></span></font></div>
<div><font face="Courier New" size="2">Issue seems to be that CJ
(..., sorted = TRUE) and setkey want to sort the character data in
different orders, one case-sensitive, one not.</font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2">CJ creates</font></div>
<div><font face="Courier New" size="2"> </font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">     V1
V2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">1: Corp 
1</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">2: Corp 
2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">3: Corp 
3</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">4: CORP 
1</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">5: CORP 
2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">6: CORP 
3</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2">And it’s keyed as you would
expect by V1 then V2</font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CC7833"><span style="background-color:#323232;">></span>
<span style="background-color:#323232;">key(dt)</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">[1] "V1"
"V2"</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2">But after doing setkey you
have</font></div>
<div><font face="Courier New" size="2"> </font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">     V1
V2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">1: CORP 
1</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">2: CORP 
2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">3: CORP 
3</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">4: Corp 
1</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">5: Corp 
2</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Consolas" color="#CFCFCF"><span style="background-color:#323232;">6: Corp 
3</span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2">data.table version
1.8.10</font></div>
<div><font face="Courier New" size="2"> </font></div>
<div><font face="Courier New" size="2">> R.version</font></div>
<div><font face="Courier New" size="2">              
_                          </font></div>
<div><font face="Courier New" size="2">platform      
x86_64-w64-mingw32         </font></div>
<div><font face="Courier New" size="2">arch          
x86_64                     </font></div>
<div><font face="Courier New" size="2">os            
mingw32                    </font></div>
<div><font face="Courier New" size="2">system         x86_64,
mingw32            </font></div>
<div><font face="Courier New" size="2">status                                    </font></div>
<div><font face="Courier New" size="2">major         
3                          </font></div>
<div><font face="Courier New" size="2">minor         
0.2                        </font></div>
<div><font face="Courier New" size="2">year          
2013                       </font></div>
<div><font face="Courier New" size="2">month         
09                         </font></div>
<div><font face="Courier New" size="2">day           
25                         </font></div>
<div><font face="Courier New" size="2">svn
rev       
63987                      </font></div>
<div><font face="Courier New" size="2">language      
R                          </font></div>
<div><font face="Courier New" size="2">version.string R version
3.0.2 (2013-09-25)</font></div>
<div><font face="Courier New" size="2">nickname       Frisbee
Sailing            </font></div>
<div><font face="Courier New" size="2">></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959"><b>Malcolm Hawkes</b></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959">On-Site Consultant, Investments -
RiskManagement</font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959">Grosvenor Capital Management, L.P.</font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959">900 N. Michigan Avenue, Suite 1100</font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959">Chicago, IL  60611</font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" color="#595959">mhawkes@gcmlp.com</font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Calibri" size="2"><span style="font-size:11pt;"> </span></font></font></div>
<div><font face="Courier New" size="2"><font face="Times New Roman">---</font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman" size="3"><span style="font-size:12pt;"><br></span></font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman">Disclosure and Statement of
Confidentiality</font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman" size="3"><span style="font-size:12pt;"> </span></font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman" size="3"><span style="font-size:12pt;"><br></span></font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman">Grosvenor Securities LLC, Member
FINRA, Serves as Placement Agent or Distributor for Certain
Investment Products Managed/Advised by GCM Grosvenor-Affiliated
Entities.</font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman" size="3"><span style="font-size:12pt;"> </span></font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman" size="3"><span style="font-size:12pt;"><br></span></font></font></div>
<div style="margin-top:14pt;"><font face="Courier New" size="2"><font face="Times New Roman">The contents of this e-mail
message and its attachments (if any) may be proprietary and/or
confidential and are intended solely for the addressee(s) hereof.
In addition, this e-mail message and its attachments (if any) may
be subject to non-disclosure or confidentiality agreements or
applicable legal privileges, including privileges protecting
communications between attorneys or solicitors and their clients or
the work product of attorneys and solicitors. If you are not the
named addressee, or if this e-mail message has been addressed to
you in error, please do not read, disclose, reproduce, distribute,
disseminate or otherwise use this message or any of its
attachments. Delivery of this e-mail message to any person other
than the intended recipient(s) is not intended in any way to waive
privilege or confidentiality. If you have received this e-mail
message in error, please alert the sender by reply e-mail; we also
request that you immediately delete this e-mail message and its
attachments (if any). Grosvenor Capital Management, L.P., GCM
Customized Fund Investment Group, L.P. and their affiliated
entities (collectively, “GCM Grosvenor”) reserve the right to
monitor all e-mail communications through their networks. GCM
Grosvenor gives no assurances that this e-mail message and its
attachments (if any) are free of viruses and other harmful
code.</font></font></div>


_______________________________________________
<br>datatable-help mailing list
<br>datatable-help@lists.r-forge.r-project.org
<br>https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help</div></div></span></blockquote></body></html>