У меня есть кадр данных «mydata», который представляет собой 2 столбца: столбец даты и столбец значений. Я хотел бы добавить столбцы в фрейм данных, которые скользящие средние столбца «значение» в разных окнах.создать кадр данных с несколькими столбцами, которые все скользящие средние из разных окон
В настоящее время MYDATA имеет 2 колонки
Column 1 - date
Column 2 - value
Я хотел бы столбец 3, чтобы быть 2 период скользящее среднее значение столбца, столбец 4, чтобы быть в 3 период скользящее среднее значение столбца, и т.д.. пока последний столбец не является скользящим средним 9 периодов
, так что я хотел бы добавить эти столбцы:
Column 3 - SMA(value, 2)
Column 4 - SMA(value, 3)
Column 5 - SMA(value, 4)
Column 6 - SMA(value, 5)
Column 7 - SMA(value, 6)
Column 8 - SMA(value, 7)
Column 9 - SMA(value, 8)
Column 10 - SMA(value, 9)
здесь код
library(TTR)
date = seq(as.Date("2016-01-01"),as.Date("2016-01-10"),"day")
value =c(1,2,3,4,5,6,7,8,9,10)
mydata = data.frame (date, value)
z = zoo(value, date)
SMA(z, n=2)# this would be 3rd column of data frame
SMA(z, n=3)# this would be 4th column of data frame
и т.д .....
спасибо.
Спасибо HTH. Еще один вопрос заключается в том, что можно добавить больше столбцов, которые будут для каждого столбца MA #, принять естественный журнал столбца значений/MA #, чтобы этот новый столбец с использованием MA2 был равен ln (1/NA), ln (2/1.5) , ln (3/2.5) etccc ... ln (10/9.5), то делают то же самое для MA3-MA9. например, для MA3 это будет ln (1/NA), ln (2, NA), ln (2.5/2), ... ln (10/9) – user3022875
HTH = Надеюсь, что это помогает ;-) – Jaap
@ user3022875 Вы можете используйте, например, 'mydata [, paste0 ('ln', 2: 9): = lapply (.SD, log), .SDcols = 3:10]'. Это то, что вы ищете? – Jaap