X-Git-Url: https://git.auder.net/?p=morpheus.git;a=blobdiff_plain;f=pkg%2FR%2FcomputeMu.R;h=bc52bb31df714ab1146c279eb1f22d239cf40105;hp=f7f82ad20a3565522f3e6f69fb1d3da90f7de911;hb=2b3a6af5c55ac121405e3a8da721626ddf46b28b;hpb=6dd5c2acccd10635449230faa824b7e8906911bf diff --git a/pkg/R/computeMu.R b/pkg/R/computeMu.R index f7f82ad..bc52bb3 100644 --- a/pkg/R/computeMu.R +++ b/pkg/R/computeMu.R @@ -23,6 +23,7 @@ #' @examples #' io = generateSampleIO(10000, 1/2, matrix(c(1,0,0,1),ncol=2), c(0,0), "probit") #' μ = computeMu(io$X, io$Y, list(K=2)) #or just X and Y for estimated K +#' #' @export computeMu = function(X, Y, optargs=list()) { @@ -66,9 +67,8 @@ computeMu = function(X, Y, optargs=list()) jd_method = ifelse(!is.null(optargs$jd_method), optargs$jd_method, "uwedge") V = if (jd_nvects > 1) { - #NOTE: increasing itermax does not help to converge, thus we suppress warnings + # NOTE: increasing itermax does not help to converge, thus we suppress warnings suppressWarnings({jd = jointDiag::ajd(M2_t, method=jd_method)}) -# if (jd_method=="uwedge") jd$B else solve(jd$A) if (jd_method=="uwedge") jd$B else MASS::ginv(jd$A) } else @@ -79,7 +79,6 @@ computeMu = function(X, Y, optargs=list()) for (i in seq_len(K)) M2_t[,,i] = .T_I_I_w(M[[3]],V[,i]) suppressWarnings({jd = jointDiag::ajd(M2_t, method=jd_method)}) -# U = if (jd_method=="uwedge") solve(jd$B) else jd$A U = if (jd_method=="uwedge") MASS::ginv(jd$B) else jd$A μ = normalize(U[,1:K])