cs0815
cs0815

Reputation: 17428

"no applicable method" error when calculating moving average with function filter()

Could someone please be so kind and point out what the problem with this code is:

mav <- function(x, n = 5) { filter(x, rep(1 / n, n), sides = 1) }

Close <- c(21000, 23400, 26800, 21000, 23400, 26800)
SourceData <- data.frame(Close)
SourceData$CloseMA1 <- mav(SourceData$Close, n = 2)

I am getting:

Error in UseMethod("filter_") : 
  no applicable method for 'filter_' applied to an object of class "c('double', 'numeric')"

Upvotes: 3

Views: 5500

Answers (1)

Zheyuan Li
Zheyuan Li

Reputation: 73415

Try stats::filter. You can also check environment(filter) for what package your filter comes from.

Upvotes: 5

Related Questions