Проблема: У меня есть данные временного ряда, которые я хотел бы разбить на подмножества на основе времени начала и окончания, которое отличается для каждой строки. Каждая временная точка имеет значение для каждой строки (например, в столбцах от «значение_1» до «значение_5»).
df <- data.frame(ID = c(101, 102, 103, 104, 105),
start = c(1, 2, 1, 3, 2),
end = c(2, 4, 3, 4, 3),
value_1 = c(8, 10, 4, 7, 6),
value_2 = c(3, 6, 9, 2, 5),
value_3 = c(4, 4, 10, 1, 6),
value_4 = c(5, 7, 8, 9, 2),
value_5 = c(4, 6, 3, 8, 10))
df
# ID start end value_1 value_2 value_3 value_4 value_5
# 1 101 1 2 8 3 4 5 4
# 2 102 2 4 10 6 4 7 6
# 3 103 1 3 4 9 10 8 3
# 4 104 3 4 7 2 1 9 8
# 5 105 2 3 6 5 6 2 10
Цель: Я хотел бы создать фрейм данных, который только возвращает значения для столбцов между временем начала и окончания (включительно) для каждой строки и возвращает NA для любых построчных значений вне времени начала и окончания, как таковые:
# ID start end value_1 value_2 value_3 value_4 value_5
# 1 101 1 2 8 3 NA NA NA
# 2 102 2 4 NA 6 4 7 NA
# 3 103 1 3 4 9 10 NA NA
# 4 104 3 4 NA NA 1 9 NA
# 5 105 2 3 NA 5 6 NA NA
Я, честно говоря, не уверен, какой маршрут Чтобы попытаться решить эту проблему, я с нетерпением жду любых идей. Я впервые задаю здесь вопрос, поэтому, если вам нужна дополнительная информация или если что-то непонятно, дайте мне знать. Спасибо!