我正在使用dplyr
来计算各组之间的一些摘要统计信息,但我也希望获得所有数据的相同统计信息(在同一行代码中)
到目前为止,我只能想到:
aux.1 <- iris %>%
group_by(Species) %>%
summarise("stat1" = mean(Sepal.Length),
"stat2" = sum(Petal.Length) )
aux.2 <- iris %>%
summarise("stat1" = mean(Sepal.Length),
"stat2" = sum(Petal.Length) )
无论如何,我可以在一行代码中获得所有统计数据吗?
答案 0 :(得分:2)
您需要两个单独的from django.utils.translation import ugettext_lazy as _
class Sales_form(forms.ModelForm):
class Meta:
model = Sales
fields = ('customer','ctype')
error_messages = {
'ctype' : {
'required' : _("Hey yow! this field is required!")
}
}
个链,但您可以将它们与dplyr
放在一起:
bind_rows
aux <- bind_rows( iris %>% group_by(Species) %>% summarise("stat1" = mean(Sepal.Length), "stat2" = sum(Petal.Length)), iris %>% summarise("stat1" = mean(Sepal.Length), "stat2" = sum(Petal.Length)) %>% mutate(Species = "All") ) aux
答案 1 :(得分:1)
如果您有兴趣查看data.table
包,这很容易实现:
library(data.table)
# have to make a copy of the internal data.frame for testing
irisTemp <- iris
setDT(irisTemp)
# calculate group statistics
irisTemp[, c("meanVal", "sumVal") := .(mean(Sepal.Length), sum(Petal.Length)),
by="Species"]
这可以是一个快速有效的大数据集库。