R/jointRot.R

Defines functions jointRot

Documented in jointRot

# Rotate Lambda and eta jointly
# ARGUMENTS: lambda: list of loadings samples
#            eta: list of factor samples

jointRot = function(lambda, eta){
  vari = lapply(lambda, varimax)
  loads = lapply(vari, `[[`, 1)
  rots = lapply(vari, `[[`, 2)
  rotfact = mapply(`%*%`, eta, rots, SIMPLIFY = FALSE)
  
  norms = sapply(loads, norm, "2")
  piv = loads[order(norms)][[round(length(lambda)/2)]]
  
  matches = lapply(loads, msfOUT, piv)
  
  lamout = mapply(aplr, loads, matches, SIMPLIFY = FALSE)
  etaout = mapply(aplr, rotfact, matches, SIMPLIFY = FALSE)
  
  return(list(lambda = lamout, eta = etaout))
}

Try the infinitefactor package in your browser

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

infinitefactor documentation built on April 3, 2020, 5:09 p.m.