首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R心理四色-二分变量

R心理四色-二分变量
EN

Stack Overflow用户
提问于 2019-03-07 00:23:15
回答 1查看 234关注 0票数 2

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

代码语言:javascript
复制
  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 

我想进行四次相关,以便找到解释变异性最大部分的因素。在搜索基于R的资源时,我偶然发现了一个名为“function”的包,它的功能是tetrachoric。我阅读了文档,但尽管如此,我还是无法执行分析。似乎缺少教程来帮助解决问题。有没有人可以提供帮助或参考有用的资源?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-07 00:48:20

当输入数据帧作为参数时,函数可能不能很好地处理因子(可能是将它们全部切换为数字)。然而,它接受一个矩阵作为参数,所以这适用于我创建的数据集。将来,包含一个可重现的示例总是很有帮助的。希望这能有所帮助!

编辑:澄清。我认为问题在于您的数据集由多个因素组成。当变量是因子时,函数似乎不起作用。如果变量是数字或输入的数据是矩阵,它将起作用。因此,无论您选择将dataframe列转换为数字,还是将dataframe转换为矩阵,都是可行的(即,我的代码中的df_matrix <- data.matrix(df)行将数据帧转换为矩阵)。如果你有任何问题,请告诉我。

代码语言:javascript
复制
> # 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55027778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档