mixpar2theta.r

来自「这个包里面含有利用极大似然估计方法来拟合成组数据和条件数据的有限混合分布模型的函」· R 代码 · 共 41 行

R
41
字号
## last modified June 2002

mixpar2theta <- function(mixpar, constr, mixprop = TRUE) 
{
    k <- nrow(mixpar)
    if (constr$conmu == "NONE") 
        mu.e <- mixpar[, 2]
    else if (constr$conmu == "MFX") 
        mu.e <- mixpar[!constr$fixmu, 2]
    else if (constr$conmu == "MEQ") 
        mu.e <- mixpar[1, 2]
    else if (constr$conmu == "MES") 
        mu.e <- mixpar[1:2, 2]
    else if (constr$conmu == "MGC") 
        mu.e <- mixpar[1:3, 2]
    if (constr$consigma == "NONE") 
        sigma.e <- log(mixpar[, 3])
    else if (constr$consigma == "SFX") 
        sigma.e <- log(mixpar[!constr$fixsigma, 3])
    else if (!is.na(match(constr$consigma, c("FCV", "BINOM", 
        "NBINOM", "POIS")))) 
        sigma.e <- NULL
    else if (!is.na(match(constr$consigma, c("CCV", "SEQ")))) 
        sigma.e <- log(mixpar[1, 3])
    if (mixprop) {
        if (constr$conpi == "NONE") 
            pi.e <- mixpar[-k, 1]
        else if (constr$conpi == "PFX" & sum(constr$fixpi) < 
            k - 1) {
            pi.e <- mixpar[!constr$fixpi, 1]
            lpi <- length(pi.e)
            pi.e <- pi.e[-lpi]
        }
        else if (constr$conpi == "PFX" & sum(constr$fixpi) >= 
            k - 1) 
            pi.e <- NULL
    }
    else pi.e <- NULL
    c(pi.e, mu.e, sigma.e)
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?