-2
Я делаю операцию ifelse на две даты, и моя итоговая дата приходит как число. Мой конкретный вопрос - как преобразовать это число в формат даты.конвертировать число на данный момент в R
Ниже приведен код, который создал эту проблему, переменная fecha_epi_final:
library(lubridate)
library(dplyr)
temp_epi2 <- temp_epi1 %>%
ungroup() %>%
mutate (b1 = force_tz(b1, tzone = "GMT"),
b2 = b2 - days(1),
fecha_epi_final = ifelse (is.na(b2) == T, b1 ,
ifelse (b1>=b2 , b2 , b1)),
mes_epi_inicio = floor_date(fecha_epi_inicio, "month"))
ул из fecha_epi_final является числом, что и в примере: 1417564800
как использование тест кадра данных:
library(lubridate)
library(dplyr)
b1 <- c('2015-01-30' , '2014-12-17')
b2 <- c(NA , '2014-12-15')
temp_epi1 <- data.frame(b1 , b2) %>%
mutate(b1 = ymd(b1) ,
b2 = ymd(b2))
по количеству вы имеете в виду эпоху времени? вы можете использовать: date <- as.POSIXct (yournumber, origin = "1970-01-01", tz = "") – MLavoie
Основная проблема заключается в том, что 'ifelse' не сохраняет атрибуты. Если вы отбросите беспорядок и уменьшите это до минимального примера, вы бы это видели. Все, что я вижу здесь, это путаница труб и dplyr, которые ничего не добавляют к ясности. – Spacedman