2014-03-30 2 views
4

Есть ли максимальная функция качения в R, которая не требует объекта временного ряда? Я хочу имитировать отраженное броуновское движение, которое можно моделировать, имея Y = броуновское движение - максимум броуновского движения до этого времени. Теперь скажите, что я могу имитировать броуновское движение (это тривиально), и у меня есть серия случайных времен (поэтому не целое число, потому что я хочу имитировать процесс непрерывного времени), как мне найти максимум до 10 секунд? Для наглядности мой код до сих пор:Максимальный уровень прокатки в R

brownian = function(n=1000, fun=rnorm) {x=cumsum(fun(n))} X= brownian() t=cumsum(abs(sin(seq(1:1000)))) %these are the random times

Теперь, я бы в идеале хотел бы написать Y = X - .... но не может использовать в любое время аргументы серии B/C TS объекты требуют даже время расстояние. Как мне это сделать?

+0

Два замечания: во-первых, если вы счастливы с 'cummax', то это не«прокатки»максимум вы после этого. Во-вторых, какова оппозиция принуждению вашего вектора к объекту 'xts' и использованию' rollapply'? Одна из многих замечательных вещей о «R» заключается в том, насколько легко принуждать от одного класса к другому и обратно. –

ответ

6

Попробуйте следующее:

x - cummax(x) 
+0

Ницца. Недавно были добавлены 'cummax' и' cummin'? За два года работы с R я никогда не знал о них. :) –

+0

Не знаю точно, когда он был введен. Я знаю, что у R 2.6.0 это было. –

Смежные вопросы