R/LPMstep.R

Defines functions Lpm.step

#M-step parallel
Lpm.step = function(X, Y, U, R, eta, tau, lambda, cl, option)
{
  # if (option==1) source("LCoorExpP1.R")
  # else source("LCoorExpP.R")
  K = ncol(tau)
  # for(k in 1:K) eta[k,,] = CoorExpP(X, Y, U, R, eta, tau, lambda, k)
  #======For parallel

  ###
  # parallel::clusterExport(cl, list("LCoorExpP", "X", "Y", "U", "R", "eta", "lambda", "tau"))
  ###

  Seta = parallel::parLapply(cl, 1:K, function(k) if (option) {
    LCoorExpP1(X, Y, U, R, eta, tau, lambda, k) #rho = 0
  } else {
    LCoorExpP(X, Y, U, R, eta, tau, lambda, k) #rho = 0
  })
  #print(Seta)
  for(k in 1:K) eta[k,,] = Seta[[k]]
  return (eta)
}
fchamroukhi/HDME documentation built on Nov. 4, 2019, 12:37 p.m.