在 中的j
参数中data.table
,是否有语法允许我在同一j
语句中引用以前创建的变量?我正在考虑类似 Lisp 的let*
构造。
library(data.table)
set.seed(22)
DT <- data.table(a = rep(1:5, each = 10),
b = sample(c(0,1), 50, rep = TRUE))
DT[ ,
list(attempts = .N,
successes = sum(b),
rate = successes / attempts),
by = a]
这导致
# Error in `[.data.table`(DT, , list(attempts = .N, successes = sum(b), :
# object 'successes' not found
我明白为什么,但是有没有不同的方法可以做到这一点j
?