Я измеряю физиологическую переменную с отметкой времени в миллисекундах для ряда пациентов. Для каждого пациента я хочу применить коэффициент к подмножеству рядов с метками времени, описывающих их положение в данный момент.
Я попытался создать следующую функцию, которая прекрасно работает при описании первой позы. При попытке применить следующий «фактор положения», ранее зарегистрированное положение удаляется.
TestPatient <- data.frame(Time=seq(c(ISOdatetime(2011,12,22,12,00,00)), by = "sec", length.out = 100),Value=rnorm(100, 9, 3))
patientpositionslice <- function(patient,positiontype,timestart,timestop) {
patient$Position[
format(patient$Time, "%Y-%m-%d %H:%M:%S") >= timestart &
format(patient$Time, "%Y-%m-%d %H:%M:%S") < timestop] <- positiontype
patient
}
TestPatientNew <- patientpositionslice(TestPatient,"Horizontal","2011-12-22 12:00:05","2011-12-22 12:00:10")
TestPatientNew <- patientpositionslice(TestPatient,"Vertical","2011-12-22 12:00:15","2011-12-22 12:00:20")
Как изменить функцию, чтобы я мог применять ее несколько раз на одном и том же пациенте с различными положениями, такими как «Горизонтально», «Вертикально», «Сидеть» и т. Д .?