Kristina Hunter Ответов: 0

Проверьте, попадает ли список дат между списком диапазонов дат, а затем добавьте связанные значения в новый фрейм данных с помощью программирования R


У меня есть фрейм данных (df) с 4 столбцами: дата начала, Дата остановки, дата запуска и NMBR (Usage amount - числовое значение). У меня есть еще один фрейм данных (usage) с двумя столбцами: time1 и usage. Я пытаюсь проверить, попадает ли каждая дата в столбце time1 в фрейме данных usage между любой из дат начала и конца в фрейме данных df. Если он действительно попадает между датой начала и датой окончания, то захватите NMBR, сохраните и увеличьте в столбце usage в фрейме данных usage. Я получаю ошибку

"Ошибка в as.POSIXlt.character(x, tz, ...) : символьная строка не находится в стандартном однозначном формате".

Я новичок в программировании r, но хотел бы помочь выяснить, как это решить.

Что я уже пробовал:

Вот пример кода, который поможет понять логику, к которой я стремлюсь:

time1 = seq(ISOdate(2018,09,17),ISOdate(2019,09,17), by = "час")
usage = matrix(0,length(time1),1)

использование &ЛТ;- данные.рамка(время1,использование)

для (строка в 1:nrow(df)) {
starttime <- df[row, "STRT"]
stoptime <- df[строка, "стоп"]
launchtime <- df[row,"LNCHD"]
ncpu <- df[строка,"NMBR"]

usage = apply(usage,1,add_ncpu)
add_ncpu = функция(х){ Если(х &ГТ; оно &&усилителя; х &ЛТ; stoptime){х = х + прерывания ncpu}}
}

0 Ответов