什么是sql group相当于R 例如 我想在data.frame上执行此操作
SELECT MAX(temp) from table group by day
通过子集函数
注意::
我知道sqldf,我不想出于某种目的使用它
答案 0 :(得分:1)
我们可以使用aggregate
中的base R
。在这里,我使用的是公式方法,其中分组变量位于~
的RHS上。将FUN
指定为max
以获取' temp'
aggregate(temp~day, df1, FUN = max)
或者使用dplyr
,我们将分组日期'并在max
内获得summarise
的临时值。
library(dplyr)
df1 %>%
group_by(day) %>%
summarise(temp= max(temp))
或者使用data.table
,我们会转换' data.frame'到' data.table' (setDT(df1)
),按'天'分组,我们得到max
' temp'。
library(data.table)
setDT(df1)[, list(temp=max(temp)), by = day]