yrosseel/lavaan

EFA: rename 'target' rotation 'target.strict' rotation

yrosseel opened this issue · 1 comments

When performing 'target' rotation, you need to provide a target matrix. This matrix often consists of ones and zeroes, and the applied user often regards this matrix as a 'pattern' matrix, indicating zero and non-zero values. But the current 'target' rotation algorithm takes those ones literally, often resulting in poor results. The 'trick' is to replace all the ones by 'NA'.
Perhaps we should rename 'target' to 'target.strict', and when 'target' rotation is requested, we will replace all '1' values by 'NA' and effectively perform partial target rotation instead, as this is, typically, what users expect.

I like this suggestion very much, it aligns better with the descriptions of this method in papers. Also I think it is safe to assume that no one actually aims for target loadings of 1.
I have another observation: I think even if users actually want to do a target rotation, they tend to think of their target in standardized loadings which is not how this method works. I think we should more clearly instruct users that standardized targets only work when the data input is also standardized.