2017-02-22 83 views
1

我試圖用NA代替某些日期。用NA代替某些日期

我嘗試了以下,但它沒有奏效。

df <- data.frame(dates = seq.Date(as.Date("1910-01-01"), as.Date("1999-01-01"), "days")) %>% 
     mutate_if(dates < as.Date("1990-01-05"),NA) 

有誰知道如何做到這一點?

謝謝!

+0

你可以做這樣的事情'%>%mutate_if (is.date,funs(replace(。,。 akrun

回答

2

if mutate_if適用於列。你只需要一個正常發生變異:

df <- data.frame(dates = seq.Date(as.Date("1910-01-01"), as.Date("1999-01-01"), "days")) %>% 
    mutate(newdates=ifelse(dates < as.Date("1990-01-05"), dates ,NA)) 
0

不使用mutate,你也可以簡單地使用指定的日期比你的目標日期更大,以NA

df$dates[df$dates < as.Date("1990-01-05")] <- NA 
+0

謝謝,我更喜歡mutate版本,不過隨着這個專欄的操作也隨之而來 – tonyk