我似乎无法找到关于究竟.EACHI做什么的任何文档data.table.我在文档中看到它的简要提及:
在i和设置中传递这些组时,已知组子集的聚合特别有效
by=.EACHI.何时i是data.table,DT[i,j,by=.EACHI]评估连接中每一行j的组.我们称之为每个i的分组.DTi
但是,"群体"在上下文中DT是什么意思?是否由设置的密钥确定的组DT?该组是否每个使用所有列作为键的不同行?我完全理解如何运行类似DT[i,j,by=my_grouping_variable]但是如何.EACHI工作的困惑.有人可以解释一下吗?
这是对r-help邮件列表中提出的问题的回应.
以下是如何使用组查找顶级值的大量示例sql,因此我认为使用R sqldf包可以轻松转换该知识.
一个例子:当mtcars按时分组时cyl,这里是每个不同值的前三个记录cyl.请注意,在这种情况下排除关系,但显示处理关系的一些不同方法会很好.
mpg cyl disp hp drat wt qsec vs am gear carb ranks
Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 2.0
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 1.0
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 2.0
Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 …Run Code Online (Sandbox Code Playgroud)