Пустышка для временных рядов в R - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть набор данных, в котором один столбец представляет месячную дату: с 01.02.2004 г. по 01.09.2008 г. я должен создать фиктивный элемент для дат в 2008 г. Я пытался использовать:

dummy <- as.numeric(Date >= 01/01/2008) * * 1004

но R сказал мне, что:

"> = не имеет значения для факторов"

поэтому я попытался преобразовать факторную переменную Date в числовую, но все мои даты исчезли, заменив их случайными числами.

1 Ответ

0 голосов
/ 04 сентября 2018

Это создает некоторые данные:

dat <- data.frame(
  date = c("01/01/2017", "02/01/2017", "01/01/2018")
)

Теперь сначала мы получаем правильный формат даты, а затем создаем пустышку:

dat$date <- strptime(as.character(dat$date), "%d/%m/%Y") # correct date format
dat$date <- format(dat$date, "%Y-%m-%d") # change to Date variable

# create dummy:
dat$dummy <- 0 
dat$dummy[which(dat$date >= "2018-01-01")] <- 1

Выход:

        date dummy
1 2017-01-01     0
2 2017-01-02     0
3 2018-01-01     1
...