看了R MASS包的源码就知道它的流程了。
(GitHub 网址https://github.com/cran/MASS/blob/master/R/mca.R)
对于这段代码,我有一个问题。矩阵的SVD后,源代码设置序列如下(第36行)
sec <- 1 + (1L:nf)
这个序列用于提取主成分:
rs <- X %*% X.svd$v[, sec]/p
或者
structure(list(rs=rs, cs=cs, fs=fs, d=X.svd$d[sec], p=p, call=Call),
class="mca")
因为序列sec
是 start 2
,上面的提取意味着 MASS 包中的 MCA 丢弃了第一个主成分。
这个过程是否正确?
我找不到有关此过程的论文或文章。
如果你知道原因,你能告诉我吗?