朱莉娅。将一列汇总到具有多列的新DataFrame中
我需要按一个变量对数据框进行分组,然后通过添加相对于另一个变量的 0.25、.5、0.75 分位数的数字或行(我已经可以这样做)和列数对其进行汇总。
在 RI 中会做例如:
iris %>%
group_by(Species) %>%
summarise(
quantile(Sepal.Length, c(.25, .75)) %>%
matrix(nrow = 1) %>%
as.data.frame() %>%
setNames(paste0("Sepal.Length", c(.25, .75)))
)
使用 DataFrames 和 DataFrameMeta 在 Julia 中编写此代码的简洁方法是什么?如果有一个解决方案可以将它一次应用于多个列,那就更好了。
我能在 Julia 中找到的最接近的解决方案是:
groupby(iris, :Species) |>
x -> combine(x, :Sepal.Length => x -> [[map(p -> quantile(x, p), (Q25 = 0.25, Q75 = 0.75))] |> DataFrame])
但它只是将数据帧封装到一个单元格中,而它应该将其分散到多列中。