2017-02-22 14 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

Спасибо, я предпочитаю версию с мутатом, хотя, как и в операциях над этим столбцом, – tonyk

Смежные вопросы