如何过滤特定日期范围内的数据集?

时间:2018-12-11 10:19:06

标签: r date subset

如果我有一个数据集,并且想根据r中的特定日期范围对特定列求和? 例如 数据集

Guest  Sales  date
A        50      2018-08-10
B        180     2018-08-10
C         20     2018-08-15
D         390    2018-08-20

我想要2018-08-10和2018-08-16之间的销售总额吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试:

sum(df[df$date >="2018-08-10" & df$date<="2018-08-16",]$Sales)

sum(subset(df, date>="2018-08-10" & date<="2018-08-16")$Sales)

为了生殖:

df <- data.table::fread("Guest  Sales  date
                         A        50      2018-08-10
                         B        180     2018-08-10
                         C         20     2018-08-15
                         D         390    2018-08-20")

答案 1 :(得分:0)

带有库dplyr的解决方案:

library(dplyr)
df %>% 
  filter(date > "2018-08-10" & date < "2018-08-16") %>% 
  summarise(sum_sales = sum(Sales))
#    sum_sales
# 1        20

数据:

df <- data.table::fread("Guest  Sales  date
                         A        50      2018-08-10
                        B        180     2018-08-10
                        C         20     2018-08-15
                        D         390    2018-08-20", data.table=FALSE)