感谢关注天善智能,走好数据之路↑↑↑
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
由于最近毕业论文缠身,一直都没有太多时间和精力撰写长篇的干货,但是呢学习的的脚步不能停止,今天跟大家盘点一下R语言与Python中到的相关性分析部分的常用函数。
常用的衡量随机变量相关性的方法主要有三种:
pearson相关系数;即皮尔逊相关系数,用于横向两个连续性随机变量间的相关系数。
spearman相关系数;即斯皮尔曼相关系数,用于衡量分类定序变量间的相关程度。
kendall相关系数;即肯德尔相关系数,也是一种秩相关系数,不过它所计算的对象是分类变量。
R语言:
cor
cor.test
corrplot
cor(x,y=NULL,use="everything",method= c("pearson","kendall","spearman"))
在R语言中,通常使用cor函数进行相关系数分析,可以分别指定向量,也可以指定给cor函数一个数据框。
use函数指定处理缺失值的方式
method是可选的三种相关系数计算方法。
这里以diamonds数据集为例:
library("ggplot2")
str(diamonds)
cor(diamonds[,c("carat","depth","price")])
cor(diamonds[,c("carat","depth","price")],method= "pearson")
默认情况下使用的是pearson相关系数。
corrplot函数可以针对相关系数输出的结果进行可视化:
library("corrplot")
library("dplyr")
cor(diamonds[,c("carat","depth","price")])%>%corrplot()
使用cor.test函数进行相关性的检验:
cor.test(x, y, #指定带分析变量
alternative = c("two.sided", "less", "greater"),
#双侧检验,单侧检验(默认双侧)
method = c("pearson", "kendall", "spearman"),
#相关性算法(默认pearson法)
exact = NULL, conf.level = 0.95, continuity = FALSE, ...)
cor.test(diamonds$carat,diamonds$depth)
cor.test(~carat+depth,diamonds)
以上两种写法都是支持的。
从结果可以看到,两者几乎不相关,pearson相关系数仅有0.02左右。
Pyhton:
import pandas as pd
import numpy as np
diamonds=pd.read_csv('D:/R/File/diamonds.csv',sep = ',',encoding = 'utf-8')
diamonds.info()
pandas中带有相关系数函数pandas.corr
mydata=diamonds[["carat","depth","table","price"]]
mydata.info()
mydata.corr()
#可以直接给出数据框的相关系数矩阵
mydata.corr()["carat"]
#给出caret变量与其他变量之间的相关系数
mydata["carat"].corr(mydata["depth"])
#计算"carat"与"depth"之间的相关系数
与R语言中一样,pandas中内置的相关系数算法也是针对针对数值型变量的pearson法。
mydata.corr(method='pearson')
mydata.corr(method='pearson')["carat"]
mydata["carat"].corr(method='pearson',mydata["depth"])
method也可以指定spearman法和kendall法计算相关系数。
本文小结:
R语言:
cor
cor.test
corplot
Python:
pandas.corr
天善学院双十一特价课程限时优惠进行中,五场微课联播免费学习,欢迎关注。https://www.hellobi.com/1111

11月6日年迈的数据分析师教你做年终总结报告
陈丹奕:知乎大神,前百度资深数据分析师
11月7日机器学习与工业实践
邹博:中国科学院副研究员,天津大学特聘教授
11月8日 贝叶斯算法与新闻分类实战
唐宇迪:深度学习领域多年一线实践研究专家,同济大学硕士
11月9日破冰Python,1小时快速入门
王大伟: Python爱好者社区公众号负责人,擅长网络爬虫、数据分析
11月10日 职场也有双11--你贱卖自己的5大常用技巧
陈文:8年经验数据分析师,资深业务顾问
网友评论