我有两种不同类型的因子分析(oblimin和varimax)附加到我的数据集的结果。我希望关联 - 也许还要绘制 - 从第一个因素到结束轮换的分数与第一个因子从最大值旋转的分数,然后是第二个因素来自两个等等。因为我' d喜欢可视化不同类型旋转的效果。我的数据看起来如下所示。不知怎的,我觉得我应该能够得到一个如下所示的数据框:
Variable | Oblimin Score | Varimax Score
h | 0.23 | 0.12
h | -1 | -.87
i | 0.2 | 0.3
i | 0.5 | 0.4
... | ... | ...
提供示例数据框的代码如下所示。目前,我以错误消息结束,即有重复的标识符。我尝试了解决方案,在链中提供了一个如下所示的唯一ID号 - mutate(id = sequence(n()))%>% - 但是它产生了一个数据帧,其中oblimin和varimax得分在交替的行上
#libraries
library(tidyr)
library(dplyr)
#fake data
h.varimax<-rnorm(1000)
h.oblimin<-rnorm(1000)
i.varimax<-rnorm(1000)
i.oblimin<-rnorm(1000)
df<-data.frame(h.varimax, h.oblimin, i.varimax, i.oblimin)
#restructuring
df%>%
#this is necessary in my code, not in the sample data code though
select(contains('varimax'), contains('oblimin'))%>%
#wide to long
gather(variable, value) %>%
#split the variable 'variable' so that I have one variable with two values,
#h or i. I want to correlate the oblimin and the varimax scores for the i
#variables and the oblimin and the varimax scores for the h variables
separate(variable, into=c('factor', 'method')) %>%
#This seems necessary to spread the method variable back into two columns
spread(method, value)