1
我已經寫了我的MLR函數。然而,這似乎與輸出有關(請參閱最後的示例)。多元線性迴歸:用戶定義函數中的錯誤
但是,當我運行代碼,逐行,輸出是正確的。
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)
}
要看到問題,請嘗試
mlr(trees$Height, trees)
我得到即使我擺脫$
Height <- trees$Height
mlr(Height, trees)