r - Producing multiple qplots with data.table -


i'd produce 1 scatter plot per group data.table , return function.

i can produce different charts using plot (below) assume isn't data.table issue:

dt = data.table(a = c(1,2,3,4), b = c(1,1,2,2), c = c(4,5,6,7)) result = dt[, list(plot = list(plot(a, c))), = b] 

however if try same qplot (in order plots can return), appear end 2 copies of second chart.

dt = data.table(a = c(1,2,3,4), b = c(1,1,2,2), c = c(4,5,6,7)) result = dt[, list(plot = list(qplot(a, c))), = b] result[1,][["plot"]] result[2,][["plot"]] 

apologies if i'm missing obvious / doing stupid.

i'm not 100% sure what's going on, here workaround:

result = dt[, list(plot = list(qplot(data=.sd, a, c))), = b] 

it seems data.table reserves environment execute evaluations in in way, , qplot stores reference environment. since don't specify data argument, qplot in environment data, keeps getting changed each by value data.table, after data.table operation, last piece left there.


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -