Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R排除不起作用的日期列表_R_Date - Fatal编程技术网

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

R排除不起作用的日期列表,r,date,R,Date,我遇到的情况是,我试图使用%和%排除日期列表(“2018-06-03”,例如“2018-06-04”)!但我没有成功。我正在使用的代码: 样本数据 订单销售日期 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-

我遇到的情况是,我试图使用%和%排除日期列表(“2018-06-03”,例如“2018-06-04”)!但我没有成功。我正在使用的代码:

样本数据

订单销售日期
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
您确定列
日期
包含日期值吗?或者它们是弦

我测试了下面的代码,它运行正常。在第一种情况下,
DATE
是一个字符串,而在
df2
中,
DATE\u D
是一个日期。在这两种情况下,6月3日和4日的记录都将被删除

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"))))
df%
过滤器(!(日期%c(“2018-06-03”、“2018-06-04”))
df2%
变异(日期=as.DATE(日期))
df2%>%
过滤器(!(日期百分比,以%为单位,截至日期(c(“2018-06-03”、“2018-06-04”))
df
日期订单销售
1 2018-06-01  6001   185
2 2018-06-01  7494   229
3 2018-07-01 19223   169
#样品df

输出
sales
第一行中的日期应为
200
。如果您将管道中的列名大写,代码就会工作,就像在dataset示例中一样。我投票决定以一个简单的打字错误结束。同样,预期输出不应该有2018-06-02,因为
wday
是7@TCZhang对,我错过了。只需将
label=TRUE
mutate(工作日=wday(日期))
中删除即可。你好!缺少的代码片段是“mutate(DATE_D=as.DATE(DATE))”。我已经将此添加到链中,结果正是我所期望的。仍然不确定为什么我必须使用as.Date两次,但它仍然有效。谢谢。
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