<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;"><div><blockquote type="cite" class="clean_bq" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">I was wondering - if you don't mind - you could briefly explain some of the <br>syntax. I have seen .I and .SD but am not familiar quite with what they <br>mean. I'm assuming .N is last? Is there a syntax for the first (.n?) or the <br>5th (.5?) </blockquote></div><p>All special variables are explained in `?data.table`. It'd be much easier for you in the future if you go through it and try it out yourself with some dummy examples. They can be very powerful tools!</p><p>Briefly: .N contains the number of observations for each group - integer vector of length 1. If you want to refer to the first value, then you can just use 1 = .I[1], .I[5] for 5th value.. and if 5 > .N, .I[5] will return NA (like base R does when we access beyond a vector's allocated length).</p><p>.I contains the row number of the original data.table for each group. Ex: `DT <- data.table(x=c(1,2,1,1,2,1,2), y=10:16); DT[, print(.I), by=x]` gives the position of all the 1's in `DT` corresponding to x=1 first followed by all 2's in DT corresponding to x=2.</p><p>HTH</p></div> <div id="bloop_sign_1405725201931048960" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">Arun</div></div> <div style="color:black"><br>From: <span style="color:black">bgoldstein</span> <a href="mailto:ben.goldstein@gmail.com">ben.goldstein@gmail.com</a><br>Reply: <span style="color:black">bgoldstein</span> <a href="mailto:ben.goldstein@gmail.com">ben.goldstein@gmail.com</a><br>Date: <span style="color:black">July 19, 2014 at 1:12:17 AM</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"> Re: [datatable-help] Subsetting By Row Function <br></span></div><br> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>Arun,
<br>
<br>This worked perfectly - Thank you. The dates are actually full Chron dates
<br>so it was easy to sort first by date. I ended up using your Method 2 for
<br>speed.
<br>
<br>I was wondering - if you don't mind - you could briefly explain some of the
<br>syntax. I have seen .I and .SD but am not familiar quite with what they
<br>mean. I'm assuming .N is last? Is there a syntax for the first (.n?) or the
<br>5th (.5?)
<br>
<br>Is '.I' saying find the index that meets this criterion? And .SD find the
<br>group that meet the criterion?
<br>
<br>Thank you,
<br>
<br>Ben
<br>
<br>
<br>
<br>--
<br>View this message in context: http://r.789695.n4.nabble.com/Subsetting-By-Row-Function-tp4694221p4694227.html
<br>Sent from the datatable-help mailing list archive at Nabble.com.
<br>_______________________________________________
<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
<br></div></div></span></blockquote></body></html>