我有两个信号系列和一个数据系列如下。
BuyDates<-seq(as.Date("2013/1/1"), as.Date("2013/3/1"), by = "5 days")
SellDates<-seq(as.Date("2013/1/1"), as.Date("2013/3/1"), by = "7 days")
data<- xts(c(rnorm(32,100,3)),seq(as.Date("2013/1/1"), as.Date("2013/2/1"), by = "days"))
我想要的是data
获取购买信号的日期BuyDates
,data
的值应替换为1
和SellDates
它应该是-1
。并且,在序列的剩余天数中,1或-1应该被继续直到它得到相反的信号,并且直到第1个信号的日期,值应该被替换为{ {1}}。
请帮助
答案 0 :(得分:1)
您可以像往常一样对data
进行分组:
data<- xts(rep(NA, 32),seq(as.Date("2013/1/1"), as.Date("2013/2/1"), by = "days"))
data[BuyDates] <- 1
data[SellDates] <- -1
然后,您可以使用na.locf
继承非NA值。
na.locf(data)