【问题标题】:Spearman's rho between ordered factors in RR中有序因子之间的Spearman rho
【发布时间】:2014-09-09 00:22:42
【问题描述】:

我有两个有序因子,只是想在它们之间找到 Spearman 的 rho。

但是:

> cor(dat$UEMS.2,dat$SCIM23_SubScore1.2,use="pairwise.complete.obs",method="spearman")

Error in cor(dat$UEMS.2, dat$SCIM23_SubScore1.2, use = "pairwise.complete.obs",  : 
  'x' must be numeric

作为健全性检查:

> class(dat$UEMS.2)
[1] "ordered" "factor" 
> class(dat$SCIM23_SubScore1.2)
[1] "ordered" "factor" 

如何使用 R 找到有序因子的 spearman rho?

我确实找到了以下内容: Calculate correlation - cor() - for only a subset of columns

这引发了同样的问题:R 的 cor() 函数只接受数字数据。这对我来说似乎不对,因为 spearman 的 rho 应该能够处理序数变量。有序因子是有序变量。

提前感谢。

【问题讨论】:

    标签: r correlation ordinal


    【解决方案1】:

    您可以使用pspearman 包来处理序数变量:

    a <- factor(c(1, 2, 3, 4, 4, 4, 3, 4, 2, 2, 1), ordered=TRUE)
    b <- factor(c(1, 4, 2, 2, 4, 1, 1, 4, 4, 3, 3), ordered=TRUE)
    library(pspearman)
    spearman.test(a, b)
    #      Rsquare            F          df1          df2       pvalue            n 
    #  0.001015235  0.009146396  1.000000000  9.000000000  0.925904654 11.000000000 
    

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 2014-01-09
      • 2018-04-15
      相关资源
      最近更新 更多