我使用函数 psych::principal 计算主成分分析,使用this矩阵作为输入 . 输入数据中的每一列是作物产量与区域(30)中的气候变量之间的月度相关性,因此我想通过PCA获得的是减少信息并找到区域之间响应的相似模式 .

pc <- principal(dat,nfactors = 9, residuals = FALSE, rotate="varimax", n.obs=NA, covar=TRUE,scores=TRUE, missing=FALSE, impute="median", oblique.scores=TRUE, method="regression")

矩阵的尺寸为10 * 30,我得到的第一条消息是:

平滑相关的行列式为零 . 这意味着没有定义目标函数 . 卡方是基于观察到的残差 . 平滑相关的行列式为零 . 这意味着也没有为null模型定义目标函数 . 因此,卡方是基于观察到的相关性 . 警告信息:1:在cor.smooth(r)中:矩阵不是正定的,平滑完成2:原则上(dat,nfactors = 3,residuals = F,rotate =“none”,:矩阵不是正半-definite,从结构载荷中找到的分数

尽管如此,该功能似乎工作,主要问题是当你检查pc $权重并意识到它等于pc $ loadings .

当列数小于/等于行数时,结果是连贯的,但是这不是这种情况 . 我必须获得权重,以便以与输入数据相同的大小(相关值)来引用得分值 .

我真的很感激任何帮助 . 谢谢 .