Функция ROC в пакете TTR выдает ошибку: неиспользуемый аргумент (na.pad=na.pad)

Приведенный ниже код всегда работал до недавнего времени.

library("quantmod")
library("PerformanceAnalytics")
library("ggplot2")
library("fPortfolio")
library("fAssets")
library("reshape2")
library("corrplot")
library("gridExtra")    
library("dplyr")

Data_SP <- new.env()

### Download the data from yahoo finance
SP_tickers<-c("SPY","AAGPX","AUIAX","BHBFX","CABDX","CGRWX","EHSTX","HDGYX","KDCAX","LEIFX","NBPBX","OLVAX","PGRWX")

start.time<-proc.time()
getSymbols(SP_tickers, from="1998-12-29", env=Data_SP)    
Returns <- eapply(Data_SP, function(s) ROC(Ad(s), type="discrete"))
proc.time()-start.time

Система возвращается со следующей ошибкой:

 Error in lag(x, n, na.pad = na.pad) : unused argument (na.pad = na.pad) 

Любые предложения, как заставить вышеперечисленное снова работать?

(Все пакеты были обновлены с момента появления этой ошибки)

Ниже трассировки:

4 lag(x, n, na.pad = na.pad) 
3 ROC(Ad(s), type = "discrete") 
2 FUN(list(structure(c(20.7, 20.57, 20.49, 20.52, 20.76, 21.2, 
21.22, 21.42, 21.21, 20.84, 20.73, 20.27, 20.74, 20.83, 20.84, 
20.57, 20.35, 20.41, 20.53, 20.3, 20.6, 20.82, 20.62, 20.48, 
20.62, 20.35, 20.32, 20.32, 20.01, 20.1, 20.39, 20.1, 20.28,  ... 
1 eapply(Data_SP, function(s) ROC(Ad(s), type = "discrete")) 

person New_code    schedule 28.10.2014    source источник
comment
Какие пакеты вы используете для всех этих небазовых функций? Включите все соответствующие вызовы library(), чтобы сделать ваш пример воспроизводимым.   -  person MrFlick    schedule 28.10.2014
comment
@MrFlick Спасибо! Добавлены библиотеки   -  person New_code    schedule 28.10.2014


Ответы (1)


Узнайте, из какого пакета на самом деле исходит lag. Какие пакеты вы загрузили и в каком порядке?

Очевидно, dplyr::lag() не согласен с xts::lag() https://github.com/hadley/dplyr/issues/277

"Но если мы сейчас подключим библиотеку dplyr, она не расширит общую функцию задержки. Она заменит ее явной функцией, которая нарушает функциональность xts."

person smci    schedule 28.10.2014
comment
Блестяще!!! Перезапустил RStudio и перезапустил код, но удалил библиотеку (dplyr). Исправлено!! - person New_code; 28.10.2014
comment
Пришлось переместить строку кода для библиотеки (dplyr) ниже по сценарию. - person New_code; 28.10.2014
comment
Если у вас есть конфликты пространств имен, рекомендуется напрямую вызывать пространство имен. Используйте dplyr::lag, а не только lag. - person Hugh; 28.10.2014
comment
@Hugh: это немного отличалось от обычной проблемы маскировки между пакетами. dplyr::lag маскировал общий stats::lag, что препятствовало отправке метода. Я не думаю, что это было бы проблемой, если бы TTR импортировал xts и zoo вместо того, чтобы иметь их в Depends (что в моем списке дел). - person Joshua Ulrich; 28.10.2014
comment
(Кстати, тег masking здесь неприменим, он предназначен для маскировки полей ввода.) - person smci; 28.10.2014