Я знаком с R, поскольку я использовал его уже несколько лет. К сожалению, я не очень хорошо разбираюсь в создании функций, которые включают цикл или повторение уравнения. Проблема заключается в следующем:Повторение или зацикливание аргумента
У меня есть вектор, содержащий более 1000 значений. Я хотел бы рассчитать абсолютную разницу между двумя сопоставимыми средствами равного размера из подмножества этого вектора.
Вот пример.
У меня есть вектор (VEC) длиной 8
[1] 0.12472963 1.15341289 -1.09662288 -0.73241639 0.06437658 -0.13647136 -1.52592048 1.46450084
Я хотел бы вычислить среднее из первых 2-х значений (0.12472963, 1.15341289) и получить абсолютную разность со средним из 2 следующих значений (-1.09662288 -0,73241639), после этого, работая по пути вниз по вектору.
В этом случае, я могу легко использовать следующее уравнение:
abs(mean(vec[1:2])-mean(vec[3:4]))
и постепенно увеличивать каждое число на 1 таким образом, чтобы работать свой путь вниз вручную до конца вектора. Я бы получил следующий вектор.
[1] 1.553591 0.3624149 0.8784722 0.497176 0.005337574
То, что я хотел бы, однако, иметь автоматизированную процедуру, которая позволяет быть мне сделать это более длинные векторы и изменить количество значений, из которых можно рассчитать средства.
Мне кажется, что это должно быть относительно просто, но я не знаю с чего начать.
Вы можете посмотреть в 'rollapply()' 'от zoo' пакета. –