问题描述
我有一个重复的测量样本,要求每个参与者在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。我猜这是假设所有var1
,var2
,var3
变量都在自己的“组”中。
# MFA Analysis
res_MFA <- MFA(dat[,-1],group=rep(4,3),type=rep("s",3))
最后,res_MFA$ind$coord
是否给我每个维度的等效“加载”?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)