Я пытаюсь создать функцию, которая добавляет образец автокорреляции (ACF) к фиксированной задержке.Я не очень разбираюсь в синтаксисе c ++, есть идеи, как решить эту ошибку.
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
List acfC(NumericVector x, bool plot = true, int lagmax = NULL) {
Environment stats("package:stats");
Function ri=stats["acf"];
List result = sum(ri(x)[[1]]);
return(result);
}
Ожидаемый результат 3.579
/*** R
acfC(y,lagmax = 10,plot = F)
set.seed(1)
y = c(arima.sim(model = list(ar = 0.7), n = 200),NA)
res = acf(y, lag.max = 10,plot = F, na.action = na.pass)
sum(res$acf)
*/
[1] 3.579344
Примечание: Функция не должна показывать график и должна обрабатывать пропущенные значения NA.