R 多元线性回归:用户定义函数中的错误
我已经为MLR编写了我的函数。然而,输出似乎存在问题(参见最后的示例) 但是当我逐行运行代码时,输出是正确的R 多元线性回归:用户定义函数中的错误,r,function,regression,user-defined-functions,linear-regression,R,Function,Regression,User Defined Functions,Linear Regression,我已经为MLR编写了我的函数。然而,输出似乎存在问题(参见最后的示例) 但是当我逐行运行代码时,输出是正确的 mlr <- function(dependentvar, dataset) { x <- model.matrix(dependentvar ~., dataset) # Design Matrix for x y <- dependentvar # dependent variable betas <- solve(crossprod(x))%*%cro
mlr <- function(dependentvar, dataset) {
x <- model.matrix(dependentvar ~., dataset) # Design Matrix for x
y <- dependentvar # dependent variable
betas <- solve(crossprod(x))%*%crossprod(x,y) # beta values
SST <- t(y)%*%y - (sum(y)^2/dim(dataset)[1]) # total sum of squares
SSres <- t(y)%*%y -(t(betas)%*%crossprod(x,y)) # sum of squares of residuals
SSreg <- SST - SSres # regression sum of squares
sigmasqr <- SSres/(length(y) - dim(dataset)[2]) # variance or (MSE)
varofbeta <- sigmasqr[1]*solve( crossprod(x)) # variance of beta
cat("SST:", SST,"SSresiduals:", SSres,"SSregression:", SSreg, sep = "\n", append = FALSE)
return(betas)
}
即使我摆脱了$
Height <- trees$Height
mlr(Height, trees)
高度使用以下各项:
x <- model.matrix(reformulate(".", dependentvar), dataset)
y <- dataset[[dependentvar]]
x <- model.matrix(reformulate(".", dependentvar), dataset)
y <- dataset[[dependentvar]]
mlr("Height", trees)