R 心理四分法变量

R 心理四分法变量,r,psych,R,Psych,我有一个二分法变量的数据框架,对应于人格问卷的项目。这里是第一行 head(mixclinic) # A tibble: 6 x 15 CMS_1 CMS_2 CMS_3 CMS_4 CMS_5 CMS_6 CMS_7 CMS_8 CMS_9 CMS_10 CMS_11 <fct> <fct> <fct> <fct> <fct> <fct> <fct> <fct> <fc

我有一个二分法变量的数据框架,对应于人格问卷的项目。这里是第一行

  head(mixclinic)
  # A tibble: 6 x 15
    CMS_1 CMS_2 CMS_3 CMS_4 CMS_5 CMS_6 CMS_7 CMS_8 CMS_9 CMS_10 CMS_11
    <fct> <fct> <fct> <fct> <fct> <fct> <fct> <fct> <fct> <fct>  <fct> 
    1 1     1     0     1     0     1     0     0     0     0      0     
    2 1     1     0     1     0     0     0     1     0     0      0     
    3 1     1     0     1     0     1     0     0     0     0      0     
    4 0     1     0     1     0     1     0     1     0     0      0     
    5 0     1     0     1     0     1     0     0     0     0      0     
    6 1     1     0     1     1     1     0     0     0     0      0 
头部(mixclinic)
#一个tibble:6x15
1厘米2厘米3厘米4厘米5厘米6厘米7厘米8厘米9厘米10厘米11
1 1     1     0     1     0     1     0     0     0     0      0     
2 1     1     0     1     0     0     0     1     0     0      0     
3 1     1     0     1     0     1     0     0     0     0      0     
4 0     1     0     1     0     1     0     1     0     0      0     
5 0     1     0     1     0     1     0     0     0     0      0     
6 1     1     0     1     1     1     0     0     0     0      0 

我想进行四库相关,以找到解释变异性最大部分的因素。在搜索基于R的资源时,我发现了“psych”软件包,该软件包具有四环素功能。我阅读了文档,但无法进行分析。似乎缺少帮助的教程。有人能帮忙或参考有用的资料吗?感谢

当输入数据帧作为参数时,函数可能无法很好地处理因子(如果您将它们全部切换为数值)。但是,它将矩阵作为参数,因此这对我创建的数据集有效。将来,包含一个可复制的示例总是有帮助的。希望这有帮助

编辑:澄清。我认为问题在于,您的数据集由多个因素组成。当变量是因子时,函数似乎不起作用。如果变量是数字的,或者输入的数据是矩阵,则它将起作用。因此,无论您如何选择将数据框列转换为数字,或将数据框转换为矩阵,都将起作用(即,
df#u矩阵#创建数据集
> 
>图书馆(tidyverse)
>图书馆(心理学)
> 
>df
>df%变异_如果(是数值,作为系数)
>str(df)
“数据帧”:8个变量中的10个:
$CMS_1:系数w/2级“0”,“1”:1 2
$CMS_2:系数w/2级“0”、“1”:12
$CMS_3:系数w/2级“0”、“1”:1 2 1
$CMS_4:系数w/2级“0”、“1”:2 1 2
$CMS_5:系数w/2级“0”、“1”:2 1 2
$CMS_6:系数w/2级“0”、“1”:2 1
$CMS_7:系数w/2级“0”、“1”:2 1 2
$CMS_8:系数w/2级“0”、“1”:1 2 1
> 
>#将数据帧转换为矩阵
>df_矩阵
> 
>四氯化碳(df_矩阵)
对于i=6 j=3,单元格条目0被替换为correct=0.5。请检查您的数据!
对于i=8 j=2,单元格条目0被替换为correct=0.5。请检查您的数据!
调用:四色(x=df_矩阵)
四色相关
1厘米2厘米3厘米4厘米5厘米6厘米7厘米8厘米
CMS_1 1.00
CMS_2 0.47 1.00
CMS_3-0.31-0.21 1.00
CMS_4-0.37-0.54-0.02 1.00
CMS_5 0.43 0.27-0.22 0.02 1.00
CMS_6 0.14 0.45-0.74 0.29 0.44 1.00
CMS_7-0.44 0.34 0.22-0.02 0.29 0.20 1.00
CMS_8-0.13 0.58 0.33-0.33-0.44-0.10 0.46 1.00
带头的
1厘米2厘米3厘米4厘米5厘米6厘米7厘米8厘米
-0.52 -0.25  0.84  0.00 -0.25 -0.52  0.25  0.52 
警告信息:
在cor.smooth(mat)中:矩阵不是正定的,进行了平滑处理
> # Creating your dataset
> 
> library(tidyverse)
> library(psych)
> 
> df <- data.frame(CMS_1 = sample(2, replace = T, size = 10)-1,
+                  CMS_2 = sample(2, replace = T, size = 10)-1,
+                  CMS_3 = sample(2, replace = T, size = 10)-1,
+                  CMS_4 = sample(2, replace = T, size = 10)-1,
+                  CMS_5 = sample(2, replace = T, size = 10)-1,
+                  CMS_6 = sample(2, replace = T, size = 10)-1,
+                  CMS_7 = sample(2, replace = T, size = 10)-1,
+                  CMS_8 = sample(2, replace = T, size = 10)-1)
> 
> df <- df %>% mutate_if(is.numeric, as.factor)
> str(df)
'data.frame':   10 obs. of  8 variables:
 $ CMS_1: Factor w/ 2 levels "0","1": 1 2 1 2 2 2 1 2 2 2
 $ CMS_2: Factor w/ 2 levels "0","1": 1 2 2 1 2 2 1 2 1 2
 $ CMS_3: Factor w/ 2 levels "0","1": 1 1 2 2 1 1 1 1 1 1
 $ CMS_4: Factor w/ 2 levels "0","1": 2 2 1 2 1 1 2 1 1 2
 $ CMS_5: Factor w/ 2 levels "0","1": 2 1 1 2 2 2 1 2 1 2
 $ CMS_6: Factor w/ 2 levels "0","1": 2 2 1 1 2 2 2 2 1 2
 $ CMS_7: Factor w/ 2 levels "0","1": 2 1 2 1 1 2 1 1 1 2
 $ CMS_8: Factor w/ 2 levels "0","1": 1 2 2 1 1 2 1 1 1 1
> 
> # Covnerting your data.frame to a matrix
> df_matrix <- data.matrix(df)
> 
> 
> tetrachoric(df_matrix)
For i = 6 j = 3  A cell entry of 0 was replaced with correct =  0.5.  Check your data!
For i = 8 j = 2  A cell entry of 0 was replaced with correct =  0.5.  Check your data!

Call: tetrachoric(x = df_matrix)
tetrachoric correlation 
      CMS_1 CMS_2 CMS_3 CMS_4 CMS_5 CMS_6 CMS_7 CMS_8
CMS_1  1.00                                          
CMS_2  0.47  1.00                                    
CMS_3 -0.31 -0.21  1.00                              
CMS_4 -0.37 -0.54 -0.02  1.00                        
CMS_5  0.43  0.27 -0.22  0.02  1.00                  
CMS_6  0.14  0.45 -0.74  0.29  0.44  1.00            
CMS_7 -0.44  0.34  0.22 -0.02  0.29  0.20  1.00      
CMS_8 -0.13  0.58  0.33 -0.33 -0.44 -0.10  0.46  1.00

 with tau of 
CMS_1 CMS_2 CMS_3 CMS_4 CMS_5 CMS_6 CMS_7 CMS_8 
-0.52 -0.25  0.84  0.00 -0.25 -0.52  0.25  0.52 
Warning message:
In cor.smooth(mat) : Matrix was not positive definite, smoothing was done