R/mdmb_regression_R2.R

Defines functions mdmb_regression_R2

## File Name: mdmb_regression_R2.R
## File Version: 0.29

#**** explained variance
mdmb_regression_R2 <- function( linear.predictor, y, type, beta, index_sigma,
    index_lambda, probit=FALSE )
{
    R2 <- NULL
    np <- length(beta)
    var_y_pred <- stats::var(linear.predictor)

    #***** logistic regression
    #  R2 form McKelvey and Zavoina
    if (type=="logistic"){
        var_resid <- 3.141593^2 / 3
    }
    if (type=="oprobit"){
        var_resid <- 1
    }

    #***** yjt regression
    if (type %in% c("yjt","bct") ){
        sigma <- beta["sigma"]
        lambda <- beta["lambda"]
        if (type=="yjt"){
            yt <- yj_trafo( y=y, lambda=lambda, probit=probit )
        }
        if (type=="bct"){
            yt <- bc_trafo( y=y, lambda=lambda )
        }
        var_y <- stats::var(yt)
        var_resid <- var_y - var_y_pred
    }
    #*** R2 formula
    R2 <- var_y_pred / ( var_y_pred + var_resid )
    #--- output
    return(R2)
}

Try the mdmb package in your browser

Any scripts or data that you put into this service are public.

mdmb documentation built on March 7, 2023, 6:58 p.m.