重复测量的降维:PCA?外交部? FactoMineR

问题描述

我有一个重复的测量样本,要求每个参与者在5年的时间(随访的第4年为基线)中完成一次睡眠调查。每个调查项目都具有相当的相关性(例如,上床时间与您的睡眠时间相关),因此我们有兴趣采用类似PCA的方法,并使用每台PC上的负载来创建随时间变化的综合评分(例如,综合评分得分基于每个时间点的这些假设“ PC”“负荷”)。然后,我们希望在混合模型中采用每个参与者的时变综合测度,以预测我们感兴趣的纵向结果。

我们最初对所有数据(所有参与者和所有时间点)执行了PCA,但是这里有一些假设。但是,经过进一步的思考,我开始质疑PCA是否能够区分基于参与者或基于时间的可变性。因此,我正在寻找一种对重复测量样本执行类似降维方法的方法。

基于我之前发现的一些堆栈问题,MFA似乎是一个不错的选择。但是我在网上看到的所有示例都没有纵向分析。

1。 MFA看起来像是正确的方法吗?

2。如果是这样,以下代码是否正确library(FactoMineR)

下面是一个示例数据集,说明了我想运行的结构和代码:

library(FactoMineR)
set.seed(123)
ex_dat <- data.frame(ID = rep(1:4,each=4),visit = rep(c("baseline","y1","y2","y3"),4),var1 = rnorm(16),var2 = rnorm(16)^2,var3 = log(rnorm(16,mean=3,sd=1)))
dat <- ex_dat %>% pivot_wider(id_cols = ID,names_from = visit,values_from = c("var1","var2","var3")) %>% data.frame()
> dat
  ID var1_baseline    var1_y1    var1_y2     var1_y3 var2_baseline    var2_y1   var2_y2    var2_y3 var3_baseline   var3_y1   var3_y2   var3_y3
1  1    -0.5604756 -0.2301775  1.5587083  0.07050839     0.2478551 3.86758304 0.4919001 0.22353172     1.3597259 1.3553540 1.3406642 1.3052579
2  2     0.1292877  1.7150650  0.4609162 -1.26506123     1.1402475 0.04751306 1.0526851 0.53128242     1.2680506 1.0777591 0.9910409 0.9629945
3  3    -0.6868529 -0.4456620  1.2240818  0.35981383     0.3906741 2.84493432 0.7018871 0.02352331     0.8352078 1.0267878 0.5507789 1.6426707
4  4     0.4007715  0.1106827 -0.5558411  1.78691314     1.2953557 1.57205186 0.1818717 0.08706718     1.4369784 0.6296169 0.9544013 0.9295404

因此,对于每个参与者,我都会对变量1到3进行多次测量。

基于MFA手册,我的直觉是运行这样的代码来执行MFA。我猜这是假设所有var1var2var3变量都在自己的“组”中。

# MFA Analysis
res_MFA <- MFA(dat[,-1],group=rep(4,3),type=rep("s",3))

最后,res_MFA$ind$coord是否给我每个维度的等效“加载”?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...