能给我讲一讲R语言中cor函数的用法吗,以及具体的实现步骤呢?

Python037

能给我讲一讲R语言中cor函数的用法吗,以及具体的实现步骤呢?,第1张

cor.test(X,Y,method="")

method可以为"spearman","pearson" and "kendall",分别对应三种相关系数的计算和检验。

1 perrson相关系数

>n <- 10

>x <- rnorm(n)

>y <- rnorm(n)

>cor(x,y)

[1] -0.4132864

>cor.test(x,y)

Pearson's product-moment correlation

data: x and y

t = -1.2837, df = 8, p-value = 0.2352

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

-0.8275666 0.2924366

sample estimates:

cor

-0.4132864

上面给出了相关系数的可信度区间和P-value

2 spearman相关系数和

kendall相关系数

同上,只要把method改成spearman和kendall

官方给的解释是

其实这几个参数是用于控制 NA 值的,那具体在实际运用中都有哪些效果呢?

就是说矩阵中如果某一列向量有NA值,那么该参数的作用是凡是同具有NA值的那一列向量计算相关性,得到的相关性都是NA

那么凡是与a计算的相关性都为NA

这一个参数要求数据中不能含有NA,否则报错,只有不含有NA才能正常计算

这个参数的作用是将具有NA值的那一行数据删除,用剩下的数据计算两两间相关性;如果每一行数据都有NA则会报错

如果每一行数据都有NA,则会报错:

这个参数的作用和complete.obs类似,只不过如果每一列向量都有NA,则计算相关性的矩阵并不会报错,而会给出NA

而如果每一行数据都有NA,则会相关性会给出NA:

这个参数有些复杂,要配合 Pearson 相关系数来计算。它的作用是如果某一列向量中有NA,那么计算该向量与其他向量相关性时,去除具有NA的那一行:

我们看到,由于a向量具有NA,b和c没有NA,所以在计算a,b之间相关性和a,c之间相关性的时候,采取的是去除有NA的那一行,用剩下的数据计算(如dm和dn);而在计算b,c相关性的时候则是采用用全部数据进行计算的方式(如dr)