R 数据表按2周或6个月分组
我有一个data.table,其中有多个列,其中包含项目数、日期等。不过,我希望将一些金额按2周或6个月的时间段进行分组。我已经按周、1个月和季度应用了分组,如下所示:R 数据表按2周或6个月分组,r,data.table,R,Data.table,我有一个data.table,其中有多个列,其中包含项目数、日期等。不过,我希望将一些金额按2周或6个月的时间段进行分组。我已经按周、1个月和季度应用了分组,如下所示: total.national.sales.by.category <- table[, sum(total_price), by= .(week(local_created_day),category)] total.national.
total.national.sales.by.category <- table[, sum(total_price),
by= .(week(local_created_day),category)]
total.national.sales.by.category如果是Date
class,一个选项是使用cut
创建每周分组。根据?切割日期
断点-切割点向量或数字,给出x将被切割成的间隔数或间隔规格,“秒”、“分钟”、“小时”、“日”、“日”、“周”、“月”、“季度”或“年”中的一个,可选择前面加整数和空格,或后面加“s”。(对于“日期”对象,仅允许使用“日”、“周”、“月”、“季度”和“年”的间隔规范
使用可复制的示例
set.seed(24)
dt <- data.table(local_created_day = Sys.Date() + 1:48,
category = sample(LETTERS[1:4], 48, replace = TRUE),
total_price = rnorm(48))
dt[, .(PriceSum = sum(total_price)), by= .(weekgrp = cut(local_created_day,
breaks = "2 week"),category)]
set.seed(24)
dt
set.seed(24)
dt <- data.table(local_created_day = Sys.Date() + 1:48,
category = sample(LETTERS[1:4], 48, replace = TRUE),
total_price = rnorm(48))
dt[, .(PriceSum = sum(total_price)), by= .(weekgrp = cut(local_created_day,
breaks = "2 week"),category)]