R 子集数据getSymbols quantmod

R 子集数据getSymbols quantmod,r,subset,quantmod,R,Subset,Quantmod,子集数据,例如所有上一年的数据,并存储为新对象 mtdl <- na.omit(getSymbols("MTDL.JK", auto.assign = F, src = "yahoo", periodicity = "weekly")) week.year.mtdl <- mtdl %>% filter(DATE >= as.Date("2018-01-01") & DATE &

子集数据,例如所有上一年的数据,并存储为新对象

mtdl <- na.omit(getSymbols("MTDL.JK", auto.assign = F, src = "yahoo", periodicity = "weekly"))

week.year.mtdl <- mtdl %>%
  filter(DATE >= as.Date("2018-01-01") & DATE <= as.Date("2018-12-31"))

mtdl=as.Date(“2018-01-01”)&Date如果您想使用dplyr,这里有一些方法可以实现这一点

1将xts转换为data.frame

df_mtdl <- data.frame(date = index(mtdl), coredata(mtdl))
week.year.mtdl <- df_mtdl %>%
  filter(date >= as.Date("2018-01-01") & date <= as.Date("2018-12-31"))

 head(week.year.mtdl)
        date MTDL.JK.Open MTDL.JK.High MTDL.JK.Low MTDL.JK.Close MTDL.JK.Volume MTDL.JK.Adjusted
1 2018-01-01          650          650         620           630          78200         609.6684
2 2018-01-08          630          650         610           610         291800         590.3138
3 2018-01-15          610          750         600           700        9390700         677.4093
4 2018-01-22          700          730         640           700        6816200         677.4093
5 2018-01-29          700          745         685           685         119900         662.8934
6 2018-02-05          695          715         630           635        1533000         614.5070

df_mtdl=as.Date(“2018-01-01”)&Date这将给出xts对象的2018分

mtdl["2018"]
所有这些也都起作用:

subset(mtdl, time(.) >= "2018-01-01" & time(.) <= "2018-12-31")

subset(mtdl, start = "2018-01-01", end = "2018-12-31")

window(mtdl, start = "2018-01-01", end = "2018-12-31")

dates <- seq(as.Date("2008-01-01"), as.Date("2008-12-31"), "day")
window(mtdl, dates)

mtdl[dates] # dates is from above

mtdl[ format(time(mtdl), "%Y") == 2018 ]
子集(mtdl,时间(.)>=“2018-01-01”和时间(.)
subset(mtdl, time(.) >= "2018-01-01" & time(.) <= "2018-12-31")

subset(mtdl, start = "2018-01-01", end = "2018-12-31")

window(mtdl, start = "2018-01-01", end = "2018-12-31")

dates <- seq(as.Date("2008-01-01"), as.Date("2008-12-31"), "day")
window(mtdl, dates)

mtdl[dates] # dates is from above

mtdl[ format(time(mtdl), "%Y") == 2018 ]