У меня есть вопрос об индексировании с помощью xts. Я понимаю, что когда я использую SPY['2002-10-17/']
, я могу получить все данные в моем объекте xts с 2002-10-17 до последней даты. Это, однако, неверно, если я напишу оператор ifelse и сделаю тот же вызов. Ниже приведен код:Ошибка индексации индексации xxt
library(quantmod)
getSymbols('SPY',from='2002-01-01')
SPY=Cl(SPY) #pull only the closes
returns=(SPY-lag(SPY,1))/(lag(SPY,1)) #returns calculation
head(SPY['2002-10-17/']) #This works and starts at 2002-10-17
head(ifelse(returns>0,1,0)['2002-10-17/']) #this for some odd reason starts at 2002-10-18
Может ли кто-нибудь сказать мне, почему это так. Я действительно одурманен.
Как Джошуа предложил здесь выход из sessionInfo()
> sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] quantmod_0.4-3 TTR_0.22-0 xts_0.9-7 zoo_1.7-12
loaded via a namespace (and not attached):
[1] tools_3.2.0 grid_3.2.0 lattice_0.20-31
Ваш код работает для меня. Пожалуйста, добавьте вывод из 'sessionInfo()' к вашему вопросу. И попробуйте запустить код из нового сеанса R. Возможно, что-то в вашей рабочей области вызывает проблемы. –
Спасибо, что ответили. Я перезапустил свой компьютер и произошла ошибка. Я добавил вывод sessionInfo(), как вы предлагали. –
Не удается подтвердить ошибку. Работает в обоих случаях на моем компьютере, с данными, начиная с 17 октября 2002 года. – RHertel