【发布时间】:2015-01-16 05:06:58
【问题描述】:
我似乎找不到任何关于 .EACHI 在 data.table 中的作用的文档。我在文档中看到了一个简短的提及:
对已知组的子集进行聚合特别有效 在 i 中传递这些组并设置
by=.EACHI时。当i是 data.table,DT[i,j,by=.EACHI]为DT的组评估ji中的每一行都加入到。我们将这个分组称为每个 i。
但是DT 上下文中的“组”是什么意思?组是由DT 上设置的键确定的吗?该组是使用所有列作为键的每个不同的行吗?我完全理解如何运行 DT[i,j,by=my_grouping_variable] 之类的东西,但对 .EACHI 的工作方式感到困惑。有人可以解释一下吗?
【问题讨论】:
-
感谢您的指出。不幸的是,答案中的链接不起作用,答案中没有其他内容涉及
.EACHI -
实际上,@eddi 在这里的回答 stackoverflow.com/questions/25869543/… 可能会提供一些见解
-
我明白了:因此,
.EACHI根据i和DT之间的合并方式定义了组。也就是说,如果i使用一个键来合并,那么该键定义了DT的组。换句话说,i中的每一行代表一个组(连同返回的DT行)。如果包所有者可以确认会很好。在那种情况下,是否禁食然后指定by=条件?
标签: r performance group-by data.table