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