psych :: alpha不会返回mean,sd

时间:2017-04-30 13:39:04

标签: r psych

psych包中包含一个函数?alpha,用于计算测试可靠性和一些项目统计信息。当输入原始数据(带有二进制值的data.frame以获得正确/不正确的答案)时,它会返回mean和st等。开发。对于每个项目。但是,有时它不会,并且只提供项目整体相关性。

为什么?

The docu表示只计算&s;和#34;对于数据矩阵[...]",x是"数据。框架或数据矩阵,或协方差或相关矩阵"。但是它如何知道我是否给它原始数据或相关矩阵?

1 个答案:

答案 0 :(得分:0)

alpha psych命令使用x命令检测输入isCorrelation是否为相关矩阵。 让我们考虑一下这个tutorial中给出的数据集:

datafilename <- "http://personality-project.org/R/datasets/extraversion.items.txt" 
items <- read.table(datafilename,header=TRUE)    
df <- with(items, data.frame(q_262 ,q_1480 ,q_819 ,q_1180 ,q_1742 )) 

对象dfdata.frame,其列代表对五个项目的回复。命令isCorrelation(在alpha内使用)正确检测到这不是相关矩阵:

library(psych)
isCorrelation(df)
[1] FALSE

如果我们计算df的相关矩阵并传递给isCorrelation,我们会再次得到正确答案:

mtx <- cor(df)
isCorrelation(mtx)
[1] TRUE

查看isCorrelation内部可以看到相关矩阵被定义为不是data.frame的对象(因此,是matrix)并且是对称的:

isCorrelation <- function (x) 
{
    return(!is.data.frame(x) && isSymmetric(unname(x)))
}