代码之家  ›  专栏  ›  技术社区  ›  Jonathan Livingston Seagull

r排除不起作用的日期列表

  •  0
  • Jonathan Livingston Seagull  · 技术社区  · 6 年前

    我有一种情况,我试图排除一个日期列表(例如“2018-06-03”,“2018-06-04”),使用百分比和!但是我没有成功。我使用的代码:

    样本数据

    DATE         ORDER    SALES
    2018-06-01  253626    200
    2018-06-02  253621    300
    2018-06-02  253621    100   
    2018-06-03  253636    200
    2018-06-03  253621    500 
    2018-06-04  253621    500
    2018-06-05  253621    500
    var <- data %>% select(order,date,sales) %>% 
    mutate(weekday = wday(date, label=TRUE)) %>% 
    filter(!wday(date) %in% c(1, 7) & !(date %in% as.Date(c('2018-06-03','2018-06-04'))) %>%
     group_by(day=floor_date(date,"day")) %>% 
    summarise(sales=sum(sales))
    

    预期产量

    dates           sales 
    2018-06-01      500
    2018-06-02      400
    2018-06-05      500
    

    有什么帮助吗?TKS

    2 回复  |  直到 6 年前
        1
  •  1
  •   Anindya Mozumdar    6 年前

    DATE

    df2 DATE_D

    df <- read.table(text = "
    DATE         ORDER    SALES
    2018-06-01  253626    200
    2018-06-02  253621    300
    2018-06-02  253621    100   
    2018-06-03  253636    200
    2018-06-03  253621    500 
    2018-06-04  253621    500
    2018-06-05  253621    500
    ", header = TRUE, stringsAsFactors = FALSE)
    
    df %>%
      filter(!(DATE %in% c("2018-06-03", "2018-06-04")))
    
    df2 <- df %>%
      mutate(DATE_D = as.Date(DATE))
    
    df2 %>%
      filter(!(DATE_D %in% as.Date(c("2018-06-03", "2018-06-04"))))
    
        2
  •  0
  •   e.matt    6 年前
    df<-data.frame(date=as.Date(c("2018/06/01","2018/06/01","2018/07/01"),),order=sample(21111:2220,3),sales=sample(100:300,3))
    
    > df
            date order sales
    1 2018-06-01  6001   185
    2 2018-06-01  7494   229
    3 2018-07-01 19223   169
    #sample df
    dates_exclude<-as.Date("2018/06/01") #dates you want to exlude
    
    df[df$date!=dates_exclude,] #df exluding dates
    df[!df$date %in% dates_exclude,] #df excluding dates using %in%
    
    df[df$date!=dates_exclude,]
            date order sales
    3 2018-07-01 19223   169