Попытка создать пустышку для периода Covid - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь создать фиктивную переменную для определенных c дат (эффект covid)

При использовании приведенного ниже кода в столбце были только NA.

df$dummy <- ifelse(df$date > as.Date("2018-01-01", format = "%Y/%m/%d") &
                               df$date < as.Date("2020-06-15", format = "%Y/%m/%d"), 1, 0)

Кто-нибудь знает как исправить?

1 Ответ

1 голос
/ 14 июля 2020
as.Date("2018-01-01", format = "%Y/%m/%d")

вернет NA, используйте один из них:

as.Date("2018/01/01", format = "%Y/%m/%d")
as.Date("2018-01-01", format = "%Y-%m-%d")

Могу я также добавить, что dplyr - отличный пакет для работы с таблицами, результат может выглядеть так:

library(dplyr)
df <- df %>% 
     mutate(Dummy = ifelse(date > as.Date("2018/01/01", format = "%Y/%m/%d") & date < as.Date("2020/06/15", format = "%Y/%m/%d"), 1, 0))

Наконец, всегда полезно добавить воспроизводимый пример, просто добавление

df <- data.frame(date = as.Date(c("2018/05/01", "2018/01/01"), format = "%Y/%m/%d"))

упростит ответ на вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...