r语言 - 应用延迟从雅虎的XTS数据不工作



我试图在xts数据上应用延迟,但由于某种原因它不想工作!

library(quantmod)
mystock <- c("GOOG")
getSymbols(mystock, src = "yahoo", from = "2020-01-01", to = "2021-01-01")
Google <- (GOOG)
Google <- subset(GOOG, select = GOOG.Adjusted)
googlets <- ts(Google)
head(googlets)
window5 <- data.frame(x5=Lag(googlets,5), x4=Lag(googlets,4), x3=Lag(googlets,3), 
x2=Lag(googlets,2), x1=Lag(googlets,1), googlets)
names(window5) <- c('x5','x4','x3', 'x2', 'x1', 'x')
window5

我能够在转换为ts之前对数据应用滞后。结果显示每行都有一个非滞后的数字。

谁能给我指个方向

使用cbind作品!

window5 <- cbind(x5=Lag(googlets,5), x4=Lag(googlets,4), x3=Lag(googlets,3), 
x2=Lag(googlets,2), x1=Lag(googlets,1), googlets)
colnames(window5) <- c('x5','x4','x3', 'x2', 'x1', 'x')
head(window5)
#           x5      x4      x3      x2      x1       x
# [1,] 1367.37      NA      NA      NA      NA      NA
# [2,] 1360.66 1367.37      NA      NA      NA      NA
# [3,] 1394.21 1360.66 1367.37      NA      NA      NA
# [4,] 1393.34 1394.21 1360.66 1367.37      NA      NA
# [5,] 1404.32 1393.34 1394.21 1360.66 1367.37      NA
# [6,] 1419.83 1404.32 1393.34 1394.21 1360.66 1367.37

似乎您想要调整关闭,删除时间,执行一些滞后并转换为ts。这可以使用Ad在一行中完成,它将选择出调整列和滞后向量,Lag支持动物园对象。还请注意,我们颠倒了问题中使用的非标准列顺序,但如果您想要这样做,请使用5:0代替0:5。

ts(Lag(zoo(Ad(GOOG)), 0:5))

或通过管道:

library(magrittr)
GOOG %>% Ad %>% zoo %>% Lag(0:5) %>% ts

最新更新