我有两个有序的因素,只是想在他们之间找到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应该能够处理序数变量。有序因子是序数变量。
提前完成。
答案 0 :(得分:2)
您可以使用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