У меня есть два фрейма данных для фирм X и Y, каждый из которых содержит даты и ежедневные отчеты, похожие на это:
firm.data
X Date Return
2019-01-25 0.007523323
2019-01-28 -0.004778901
2019-01-29 0.004801849
Y Date Return
2019-01-25 0.019767443
2019-01-28 -0.001900380
2019-01-29 -0.006473724
Я поместил оба в список с названием "firm.data" и для каждогофирма Я хочу добавить новый столбец с именем «AR» соответственно (я работаю со списками, потому что в будущем я добавлю больше структурных данных и не хочу делать все вычисления отдельно).Новый столбец «AR» должен включать данные, рассчитанные с помощью анонимной функции «ar_calc», содержащей расчеты для модели CAPM [твердый доход - (альфа + (бета * рыночный доход))]].Я уже вычислил соответствующие альфа и бета-версии для X и Y и сохранил их в двух списках, называемых «альфа» и «бета».
alphas = c(0.0028, -0.0010)
betas = c(1.7099, 0.9242)
У меня также есть фрейм данных mkt.data:
mkt.data
Date Return
2019-01-25 0.013621555
2019-01-28 -0.006335916
2019-01-29 0.000760060
Чтобы добавить новый столбец в каждый фрейм данных, я пытался использовать функцию apply в сочетании с анонимной функцией (см. Код ниже).
Однако всегда возвращается следующая ошибка:
Ошибка в is.data.frame (.data) ||is.list (.data) ||is.environment (.data): Аргумент ".data" отсутствует без значения по умолчанию
Поскольку я довольно плохо знаком с R, надеюсь, это объяснение имеет смысл.Буду признателен за любую помощь в этом!
Я уже пробовал разные функции (lapply и mapply), но не знаю, как рассчитать новый столбец с тремя переменными (точные данные для X и Y, альфа для X и Y и бета-версии для X и Y)в функции "ar_calc".
Мой код в настоящее время выглядит следующим образом:
ar_calc <- function (x, y, z) {
mutate(AR = (x$Return - (y + (z * mkt.data$Return))))
}
firm.data.ar <- lapply(firm.data, ar_calc, y = alphas, z = betas)
firm.data.ar
Результатом должен быть список, включающий два фрейма данных X и Y, которые оба должны иметь новыйколонка "АР".Значения этого столбца должны быть рассчитаны с помощью функции "ar_calc".