Dataframe “如何让函数聚合”;“忽略”;柱?

Dataframe “如何让函数聚合”;“忽略”;柱?,dataframe,julia,Dataframe,Julia,假设我有一个具有多个分类维度和一个“值”维度的数据框架,我希望通过其中一些维度进行聚合,而忽略其他维度 Julia DataFrames中有函数聚合,但如果我释放了一些类别值,我会得到一个错误,因为它试图将函数(这里是一个和)也应用于它们,而不是忽略它们: 在: 输出: 在: 输出: 显然,我可能只是在聚合之前删除额外的列,但也许有一种方法可以在一篇文章中完成 using DataArrays, DataFrames df = DataFrame( colour = ["green","bl

假设我有一个具有多个分类维度和一个“值”维度的数据框架,我希望通过其中一些维度进行聚合,而忽略其他维度

Julia DataFrames中有函数聚合,但如果我释放了一些类别值,我会得到一个错误,因为它试图将函数(这里是一个和)也应用于它们,而不是忽略它们:

在:

输出:

在:

输出:

显然,我可能只是在聚合之前删除额外的列,但也许有一种方法可以在一篇文章中完成

using DataArrays, DataFrames
df = DataFrame(
  colour = ["green","blue","white","green","green"],
  shape  = ["circle", "triangle", "square","square","circle"],
  border = ["dotted", "line", "line", "line", "dotted"],
  area   = [1.1, 2.3, 3.1, 4.2, 5.2])
    colour  shape       border  area
1   green   circle      dotted  1.1
2   blue    triangle    line    2.3
3   white   square      line    3.1
4   green   square      line    4.2
5   green   circle      dotted  5.2
aggregate(df,[:colour,:shape, :border],sum) # Ok
aggregate(df,[:colour,:shape],sum) # what I would like, ignoring border column
LoadError: MethodError: no method matching +(::String, ::String)
by(df, [:colour,:shape]) do df
    DataFrame(m = sum(df[:area]))
end