我想要在R上编写一个含参函数,但是函数结构比较复杂,我就编写成了这个样子,
f=function(a){
P=diag(11)
J=solve(P+a*R)%*%P
B=solve(t(x)%*%P%*%(diag(11)-J)%*%x)%*%t(x)%*%P%*%(diag(11)-J)%*%y
S=J%*%y-J%*%x%*%solve(t(x)%*%P%*%(diag(11)-J)%*%x)%*%t(x)%*%P%*%(diag(11)-J)%*%y
Y=x%*%B+S
H=J+(diag(11)-J)%*%x%*%solve(t(x)%*%P%*%(diag(11)-J)%*%x)%*%t(x)%*%P%*%(diag(11)-J)
GCV=t(Y-y)%*%P%*%(Y-y)/(1-sum(diag(H)/11)
return(GCV)}
a是参数上面的都是对的,就是return那里出错了,不知道为什么。