使用magrittr更改值的子集

使用magrittr更改值的子集,r,magrittr,R,Magrittr,我有一个时间序列数据框,其中有一周中的一天列。我想用6代替所有周一(第1天)的假期,而不用使用magrittr中断我的管道 如果没有管道,它看起来是这样的: dates = c("5/24/15", "5/25/15", "5/26/15", "5/27/15", "5/28/15", "5/29/15", "5/30/15") df <- data.frame(date = as.POSIXct(dates,format = "%m/%d/%y"), day = 0:6, value =

我有一个时间序列数据框,其中有一周中的一天列。我想用6代替所有周一(第1天)的假期,而不用使用magrittr中断我的管道

如果没有管道,它看起来是这样的:

dates = c("5/24/15", "5/25/15", "5/26/15", "5/27/15", "5/28/15", "5/29/15", "5/30/15")
df <- data.frame(date = as.POSIXct(dates,format = "%m/%d/%y"), day = 0:6, value = 1:7)
holidays <- c("2015-05-25")
df$day[df$date %in% as.POSIXct(holidays)] <- 6
df <- df %>%
  filter(value < 30) %>%
  mutate(new_variable = something) %>%
  REPLACE HOLIDAYS WITH SUNDAY HERE
dates=c(“15年5月24日”、“15年5月25日”、“15年5月26日”、“15年5月27日”、“15年5月28日”、“15年5月29日”、“15年5月30日”)

df使用%in%制作索引,然后替换为mutate,我猜:

df %>% mutate(day=replace(day, date %in% as.POSIXct(holidays), 6))

?replace
应该会起作用。海报在问题中使用所需函数的名称总是很好的。所有这些都是以“大管道”的名义@Neal Fultz谢谢,我刚刚意识到我让问题比实际情况稍微简单了一点,因为我没有索引,我想要匹配一个值列表。我对问题进行了编辑以反映这一点。