我有一个名为df的数据集,其中有年、月和日变量.我想使用write_dataset函数输出一个具有标准箭头数据集语法的文件夹,如下图所示:

enter image description here

在每个文件夹中,将有Month=1、Month=2,依此类推.

现在,为了创建它,我使用了以下代码:

df <- df %>% group_by(year, month, day)
output_folder = "my/path"
arrow::write_dataset(df, 
                     output_folder, 
                     format = "parquet", 
                     )

但是,我的数据集太大,我想使用data.table来利用快速分组.我这样做的方法如下:

grouping_cols = c("year", "month", "day")
setkeyv(df, grouping_cols)

arrow::write_dataset(df, 
                     output_folder, 
                     format = "parquet", 
                     )

但是,现在不对结果进行分组,并且返回单个.parket文件(没有充分利用arrow::write_dataset的潜力).

enter image description here

有没有办法让相同的数据集按指定的列分组,而不是基于data.table个分组而不是dplyr个分组?

推荐答案

如果你看一下docs,默认的partitioning参数是datasetdplyr::group_vars.该概念不会自动转换为data.table模拟,因此如果不使用dplyr对象作为输入,则必须提供该参数.

arrow::write_dataset(df, 
                    output_folder,
                    partitioning=grouping_cols,
                    format = "parquet", 
                    )

R相关问答推荐

按崩溃类别分类的指数

R创建一个数据透视表,计算多个组的百分比

次级y轴R gggplot2

如何编辑ggplot的图例字使用自定义对象(gtable)?'

用预测NLS处理R中生物学假设之上的误差传播

如何在R中合并两个基准点?

如何使用STAT_SUMMARY向ggplot2中的密度图添加垂直线

如何改变x轴比例的列在面

为什么我的基准测试会随着样本量的增加而出现一些波动?

在ggplot中为不同几何体使用不同的 colored颜色 比例

从所有项的 struct 相同的两级列表中,将该第二级中的所有同名项绑定在一起

如何在R forestplot中为多条垂直线分配唯一的 colored颜色 ?

计算两列中满足特定条件连续行之间的平均值

合并后返回列表的数据帧列表

给定开始日期和月份(数字),如何根据R中的开始日期和月数创建日期列

为左表中的所有行使用值Fill滚动左连接

在数据帧列表上绘制GGPUP

当由base::限定时,`[.factor`引发NextMethod错误

在使用ggplot2的情况下,如何在使用coord_trans函数的同时,根据未转换的坐标比来定位geom_瓷砖?

Ggplot2水平线和垂直线的图例图标不匹配