我正在尝试在 R 中实现此链接中提到的线性回归曲线并需要帮助。
链接:线性回归曲线
我发现以下 ThinkScript 代码实现了我正在寻找的内容。将其转换为 R 有什么帮助吗?
script inertiaTS {
input y = close;
input n = 20;
rec x = x[1] + 1;
def a = (n * Sum(x * y, n) - Sum(x, n) * Sum(y, n) ) / ( n * Sum(Sqr(x), n) - Sqr(Sum(x, n)));
def b = (Sum(Sqr(x), n) * Sum(y, n) - Sum(x, n) * Sum(x * y, n) ) / ( n * Sum(Sqr(x), n) - Sqr(Sum(x, n)));
plot InertiaTS = a * x + b;
}
这是我到目前为止所拥有的..
Sqr <- function(x) {
return (x^2)
}
inertiaTS <- function(y, n) {
x <- x + 1;
a <- (n * rollapply( x*y, n, sum) - rollapply( x, n, sum ) * rollapply( y, n, sum )) / ( n * rollapply( Sqr(x), n, sum ) - Sqr(rollapply( x, n, sum )))
b <- (rollapply( Sqr(x), n, sum) * rollapply( y, n, sum ) - rollapply( x, n, sum ) * rollapply( x*y, n, sum ) ) / ( n * rollapply( Sqr(x), n, sum ) - Sqr
(rollapply( x, n, sum )))
return (a * x + b)
}
当我用
lrc <-惯性TS(Cl(stockData$AAPL),20)
我收到以下错误。有什么帮助吗?
seq.default(start.at, NROW(data), by = by) 中的错误:'by' 参数中的错误符号
谢谢。