如果我有一个data.table
,并且我在j
中执行一些函数调用,我可以访问by
变量的当前值吗?在data.table中访问'j`内的'by`变量
library(data.table)
d <- data.table(x=1:10, y=c('a', 'b'))
myfun <- function(DT) {
print (DT$y)
}
d[, myfun(.SD), by=y]
更多情况下,我传递第二个参数(另一data.table
)至myfun
并希望子集的基础上y
当前值。它可以用一个虚拟变量来实现,但似乎令人讨厌......
你可以使用'.GRP'吗? 'd [,.GRP,by = y]' – Roland
@Roland嗯,我不知道'.GRP',但它只是一个索引是否正确?我可以,但是我开始添加额外的子集。 – Justin
将其他data.table中的相应列转换为整数应该相对容易。但是,也许有一个更好的方法来解决你的真实问题。你需要展示它。 – Roland