У меня есть список из нескольких фреймов данных, каждый из которых содержит строку дат и для каждой даты либо +1, чтобы указать увеличение, либо -1, чтобы уменьшить.
Вот пример
security1 <- data.frame(
date = seq(from =as.Date('2019-01-01'), to = as.Date('2019-01-10'), by = 'day'),
direction = c(1, 1, 1, -1, -1, 1, 1, 1, 1, -1))
security2 <- data.frame(
date = seq(from =as.Date('2019-01-01'), to = as.Date('2019-01-10'), by = 'day'),
direction = c(1, -1, 1, -1, -1, 1, 1,- 1, 1, -1))
clcn <- list(Sec1 = security1, Sec2 = security2)
Для каждого кадра данных я пытаюсь найти длину самой последней строки изменений, и в прошлый раз число было больше, чем это.Может случиться так, что текущая полоса составляет всего 1 день, если движение предыдущего дня было в другом направлении.
Я искал ответ на этот вопрос в течение нескольких дней и нашел следующее, используя sequence и rle для одного кадра данных в Вычислить переменную подсчета в кадре данных
sequence(rle(as.character(data$list))$lengths)
Но я изо всех сил пытаюсь вставить это в lapply или map, чтобы заставить его повторяться по списку.
Я не возражаю против точного вывода, но в идеале это должно включать: имя Dataframe, текущую серию, предыдущийдлинная полоса, и свидание закончилось.Но, по большому счету, простое добавление порядкового номера в качестве нового столбца на фрейме данных было бы огромной помощью, и я могу (попытаться) взять его оттуда.