У меня есть dataframe строится так:Как рассчитать процентные доходы в кадре данных с несколькими ценными бумагами?
SecTicker Price
[1] X 10
[2] X 12
[3] X 11
[4] Y 5
[5] Y 8
[6] Y 4
etc...
Я хотел бы, чтобы вставить столбец, который имеет возвращения безопасности на каждый день, так что любопытное выглядит как этот
SecTicker Price ret
[1] X 10 NA
[2] X 12 .2
[3] X 11 -.0833
[4] Y 5 NA
[5] Y 8 .6
[6] Y 4 -.5
Так по существу just (Цена (текущая)/Цена (время -1)) -1 для каждого столбца, с первой строкой для каждого тикера как NA
Глядя немного в tapply(), я по-прежнему не уверен, как рассчитать разница, поскольку я имею в виду одну и ту же колоду млн. Есть ли советы о том, как это сделать? Я бы признателен за помощь
'DF $ RET <- unlist (tapply (DF $ Цена, $ DF SecTicker, функция (х) с (Н. А., х [-1]/х [-длина (х)] - 1))) ', если вы хотите использовать' tapply'. – JasonWang
:)! благодаря! Компонент 'x [-1]/x [-length (x)]' является гениальным – Lillian