我需要获取使用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")
答案 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))