У меня есть фрейм данных данных разреза, так что для каждого разреза есть коды видов, и для каждого вида есть связанный счет. Я пытаюсь рассчитать долю разрезов, которые идентифицируют конкретный вид, разделив фрейм данных на каждый разрез. Как я могу взять вектор повторяющихся фрагментов чисел, разделить его на фрагменты с одинаковыми значениями и получить индексы?
Пример:
x <- c(1, 2, 1, 2, 3, 1)
y <- c(3, 2, 3, 3, 2, 3)
Transects <- rep(x, y)
Я хочу, чтобы он выводил такие куски
c(1, 1, 1)
c(2, 2)
c(1, 1, 1)
c(2, 2, 2)
c(3, 3)
c(1, 1, 1)
или, что более важно, связанные индексы, которые дали бы мне
c(1, 2, 3)
c(4, 5)
c(6, 7, 8)
c(9, 10, 11)
c(12, 13)
c(14, 15, 16)
Я даже не знаю, какие функции попробовать, потому что я не знаю, по каким индексам разделить вектор, и не могу разделить по простому значению, потому что есть куски одинаковых значений, и я не хочу, чтобы они смешивались вместе, так как это разные разрезы. Любая помощь приветствуется, я даже не знаю, как создать функцию, которая могла бы это сделать.
rleid
отdata.table
пригодится:split(Transects, data.table::rleid(Transects))
. Может быть полезно: stackoverflow.com/questions/33507868/ - person markus   schedule 02.07.2020