【发布时间】:2021-06-07 16:33:52
【问题描述】:
我需要按一个变量对数据框进行分组,然后通过添加相对于另一个变量的 0.25、0.5、0.75 分位数的行数(我已经可以这样做)和列数来对其进行汇总。
在 R 中我会做例如:
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])
但它只是将数据框封装到一个单元格中,而应该将其分散到多个列中。
【问题讨论】:
标签: dataframe julia data-wrangling