[datatable-help] using sample() in data.table

Paulo van Breugel p.vanbreugel at gmail.com
Tue Jun 19 15:14:05 CEST 2012


Hi, I am new to this package and not sure how to implement the sample()
function with data.table.

I have a data frame SPF with three columns cat, pnvid and wdpaint. The
pnvid variables has values 1:3, the wdpaint has values 1:10. I am
interested in the count of all combinations of wdpaint and pnvid in my data
set, which can be calculated using table or tapply (I use the latter in the
example code below).

Normally I would use something like:

*c <- tapply(SPF$cat, list(as.factor(SPF$pnvid), as.factor(SPF$wdpaint),
function(x) length(x))*

If I understand correctly, I would use the below when working with data
tables:

*f <- SPF[,length(cat),by="wdpaint,pnvid"]*

But what if I want to reshuffle the column wdpaint first? When using
tapply, it would be something along the lines of:

*a <- list(as.factor(SPF$pnvid), as.factor(sample(SPF$wdpaint, replace=F)))
c <- tapply(SPF$cat, a, function(x) length(x))*


But how to do this with data.table?

Paulo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20120619/16f10d94/attachment.html>


More information about the datatable-help mailing list