是否有用于在R中找到反成像相关矩阵的函数?我可以通过excel找到它,但在R

问题描述 投票:0回答:1

是否有用于在R中找到反成像相关矩阵的功能?我可以通过excel找到它,但是在R中找不到。我尝试搜索它,但找不到任何东西。

r stat
1个回答
0
投票

您是否正在尝试计算Kaiser-Meyer-Olkin(KMO)指数?软件包KMO中有psych功能。如果仅通过键入psych::KMO来查看源代码,则可以看到该函数实际上是在计算反成像相关矩阵:

psych::KMO
function (r) 
{
    cl <- match.call()
    if (!isCorrelation(r)) 
        r <- cor(r, use = "pairwise")
    Q <- try(solve(r))
    if (inherits(Q, as.character("try-error"))) {
        message("matrix is not invertible, image not found")
        Q <- r
    }
    S2 <- diag(1/diag(Q))
    IC <- S2 %*% Q %*% S2
    Q <- Image <- cov2cor(Q)
    diag(Q) <- 0
    diag(r) <- 0
    sumQ2 <- sum(Q^2)
    sumr2 <- sum(r^2)
    MSA <- sumr2/(sumr2 + sumQ2)
    MSAi <- colSums(r^2)/(colSums(r^2) + colSums(Q^2))
    results <- list(MSA = MSA, MSAi = MSAi, Image = Image, ImCov = IC, 
        Call = cl)
    class(results) <- c("psych", "KMO")
    return(results)
}

您将看到它已分配给变量IC

您可以按原样使用该功能来计算KMO索引,也可以复制代码以计算IC

© www.soinside.com 2019 - 2024. All rights reserved.