如果我有一个数据集,并且想根据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之间的销售总额吗?
答案 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)