Как правильно применить функцию к столбцам фрейма данных?
У меня есть некоторые данные, подобные следующим:
Я хочу вычислить простое скользящее среднее для каждогоколонка.Я могу использовать lapply
, но он помещает данные в виде списков, если возможно, я хотел бы создать новые столбцы или новый фрейм данных.
Я пробовал sapply
, mapply
и т. Д.
Данные:
require(quantmod)
require(PerformanceAnalytics)
library(data.table)
from <- "2017-01-01"
to <- "2018-12-01"
symbols <- c('GOOG', 'MSFT', 'AAPL')
dataEnv <- new.env()
getSymbols(symbols, from=from, to = to, src = "yahoo", adjust = TRUE, env = dataEnv)
data <- do.call(merge, eapply(dataEnv, Ad))
colnames(data) <- gsub(".Adjusted", "", colnames(data))
x <- lapply(data, function(x) SMA(x, n = 10))
Например, создается новый столбец:
data$googleSMA <- SMA(data$GOOG)