[R] data.table: reference column in "i"-part by column name in string object

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Feb 21 20:43:57 CET 2019


I don't understand the question.
Like this?

xx <- "B"
yy <- "D"
a[xx, on = v]
a[c(xx, yy), on = v]

Note that .(xx, yy) doesn't work. It outputs something else.

Could you give an example of more complicated expressions you have 
doubts with?

Hope this helps,

Rui Barradas

Às 14:10 de 21/02/2019, Pascal A. Niklaus escreveu:
> I am converting data.frame-based code to data.table, for performance 
> reasons.
> Is there a way to refer to columns using expressions in the "i"-part?
> Here is an example:
> a <- data.table(x=rep(LETTERS[1:10],each=2), y=1:20)
> v <- "x"
> For the j-part, I can access the column whose name is stored in v as
> a[,..v]
> However, for the i-part I did not find a good way to achieve the same. 
> For a simple case, the following works
> xx <- "B"
> a[xx, on=v]
> However, I can't see how this is easily expanded to more complex logical 
> expressions.
> Pascal
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide 
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list