我正在尝试编写使用奇异值分解矩阵的多元回归分析函数(y = Xb + e
)。输入为y
和X
,回归系数向量b
,残差向量e
和可解释方差R2
作为输出。以下是我到目前为止所写的内容,但我完全被卡住了。权重的labels
部分也给出错误信息。这个labels
部分是什么?有人可以给我一些提示来帮助我继续吗?
Test <- function(X, y) {
x <- t(A) %*% A
duv <- svd(x)
x.inv <- duv$v %*% diag(1/duv$d) %*% t(duv$u)
x.pseudo.inv <- x.inv %*% t(A)
w <- x.pseudo.inv %*% labels
return(b, e, R2)
}
x
和X
是不同的。你函数的第一行使用了A
,但是A
不是输入的。它从哪里来的?我也不确定labels
是什么 - 这不是你写的代码吗?它应该做什么? - Gregor Thomas标签
。是的,抱歉,A是一个测试矩阵。不过我的问题已经在下面得到了答复,还是谢谢! - Rilja