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