rcorr在cor正常工作的地方给出错误(相关矩阵需要p值)

时间:2018-08-13 05:47:59

标签: r correlation

我需要获取使用cor创建的相关矩阵的p值。奇怪的是,当我在同一数据上使用rcorr时,出现以下错误:

Error in storage.mode(x) <- "double" : 
  (list) object cannot be coerced to type 'double'

有什么建议吗?

下面是我用于创建相关矩阵的代码(给出错误):

library(Hmisc)

corr < rcffull[,c("liwc_WC","liwc_informal","liwc_male",
                   "liwc_female","liwccsr_csrdic","liwc_negemo",
                   "liwc_posemo","liwc_risk")]
rcorr(corr)

这是可行的,但我没有p值:

cor(corr, use="complete.obs")

1 个答案:

答案 0 :(得分:1)

Hmisc::rcorr期望输入为matrix,即使它们都是数字形式的,也不会自动转换数据帧。因此,您应该只能在输入中调用as.matrix(),例如

x <- c(-2, -1, 0, 1, 2)
y <- c(4,   1, 0, 1, 4)
z <- c(1,   2, 3, 4, NA)
v <- c(1,   2, 3, 4, 5)

df = data.frame(x, y, z, v)

# Fails with the same error as in the question
Hmisc::rcorr(df)
# Succeeds
Hmisc::rcorr(as.matrix(df))