列出具有相关性的p值

时间:2015-07-07 13:04:49

标签: r

我成功地从基于this question的矩阵中获得了相关值的有序列表。我想包括这样的p值:

  Var1 Var2  Freq  p-val
6 col3 col2  0.60  0.06
2 col2 col1 -0.38  0.28
3 col3 col1 -0.72  0.01

我将代码更改为使用corr.test,因此我可以获得p值,但我不确定如何将它们放入列表中。

require(psych)
set.seed(1)
df <- data.frame(
    col1 = rnorm(10),
    col2 = rnorm(10),
    col3=rnorm(10)
)

cors<-corr.test(df)
listCorr<-as.data.frame.table(cors$r)[lower.tri(cors$r,diag=FALSE),]
listCorr$Freq<-signif(listCorr$Freq,2)
listCorr<-listCorr[with(listCorr,order(-listCorr[,3])),]

1 个答案:

答案 0 :(得分:1)

library(psych)

set.seed(1)
df <- data.frame(
  col1 = rnorm(10),
  col2 = rnorm(10),
  col3=rnorm(10)
)

cors<-corr.test(df)
listCorr<-as.data.frame.table(cors$r)[lower.tri(cors$r,diag=FALSE),]
listCorr$Freq<-signif(listCorr$Freq,2)
listCorr$p.val <- signif((cors$p)[lower.tri(cors$p)], 2)
listCorr<-listCorr[with(listCorr,order(-listCorr[,3])),]

> listCorr
  Var1 Var2  Freq p.val
6 col3 col2  0.60 0.064
2 col2 col1 -0.38 0.280
3 col3 col1 -0.72 0.020