0

我有 400 个商店部门,我在所有部门之间运行(Pearson)相关性。如何输出“N”(案例数)和显着性水平(p 值)?

我正在使用 cor 函数。这是我当前运行良好的代码:

numprod <- ncol(data) - 2; 
matrix <- as.matrix(data[ ,2:numprod]);
AllChannels <- cbind(matrix(nrow = numprod-1,"All channels"),cor(matrix, use="all.obs", method="pearson"));

在 SPSS 中,当您运行相关时,它会输出相关系数、N 和显着性。这是我想要的结果。

谢谢大家!

卢卡斯

4

1 回答 1

0

如果它只是其中一个向量的长度,则使用length. 如果您想要相关系数等于 0 的推论计算,请使用 cor.test (正如帮助页面?cor告诉您的那样。)如果它是测试的自由度数,请更仔细地查看?cor.test.

> cor.test(1:10,2:11)

    Pearson's product-moment correlation

data:  1:10 and 2:11 
t = 134217728, df = 8, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0 
95 percent confidence interval:
 1 1 
sample estimates:
cor 
  1 

cor.test 的结果将是一个列表,因此使用它不会有用cbind。Hmisc 包有rcorr

install.packages("Hmisc")
library(Hmisc)
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)
rcorr(cbind(x,y,z,v))
#   ========   Returns a list with three elements:
> rcorr(cbind(x,y,z,v))
  x     y     z v
x 1  0.00  1.00 1
y 0  1.00 -0.75 0
z 1 -0.75  1.00 1
v 1  0.00  1.00 1

n
  x y z v
x 5 5 4 5
y 5 5 4 5
z 4 4 5 4
v 5 5 4 5

P
  x      y      z      v     
x        1.0000 0.0000 0.0000
y 1.0000        0.2546 1.0000
z 0.0000 0.2546        0.0000
v 0.0000 1.0000 0.0000       
于 2014-05-07T06:44:32.617 回答