У меня есть код в R, который манипулирует временными метками с помощью dyplr. Код ниже. По сути, мы отправляем электронное письмо в определенное время и получаем ответ — если он есть. Я хотел извлечь ряд атрибутов как из отправленных, так и из ответных элементов.
Участвуют 3 страны, и у них метки времени настроены по-разному. Например, Великобритания имеет метку времени, например: 2015-03-11 09:32:51, тогда как две другие страны имеют метки времени, такие как 03.02.2015 08: 02
Я создал приведенный ниже код на основе моего изучения dplyr, и я хочу создать из него функцию, но я получаю ошибки
udf_parsedates <- function(strFormat)
{
Email <- Email %>%
mutate(Email.dtm = parse_date_time(SMS.Date,strFormat),
Email.Hour = as.numeric(format(SMS.dtm,"%H")),
Email.Dow = wday(SMS.dtm, label=TRUE, abbr=FALSE),
Rep.dtm = parse_date_time(Reply.Date,strFormat),
Rep.Hour = as.numeric(format(Rep.dtm,"%H")),
Rep.Dow = wday(Rep.dtm, label=TRUE, abbr=FALSE),
ResponseTime.Hours = as.numeric(difftime(Rep.dtm, SMS.dtm, units="hours")))
}
# Find hour and DOW of the Email
if(Email$dest_ctry == 'GB') {udf_parsedates("%Y-%m-%d %H:%M:%S")
} else if (SMS$dest_ctry == 'IT') {udf_parsedates("%Y/%m/%d %H:%M")
} else if (SMS$dest_ctry == 'ES') {udf_parsedates("%Y/%m/%d %H:%M")}
Мутация отлично работает вне функции, но я пытаюсь научиться интегрировать и повторно использовать код, поэтому я хотел бы использовать для этого функции. Любая помощь будет принята с благодарностью