R描述性统计分析
概念
数据摘要,有损地提取数据特征的过程,包含基本统计,分布/累计统计,数据特征(相关性,周期性等),数据挖掘
数据有很多变量和观测值,可以用一些简单表格,图形和少数汇总数字来描述。这些描述方法被称为描述统计学,也称为探索性数据分析(EDA,exploratory data analysis)
描述统计目的在于帮助展示和理解数据。
数据作为信息的载体,要分析数据中包含的主要信息,即要分析数据的主要特征。也就是说,要研究数据的数字特征,包括集中位置(集中趋势),分散程度(离中趋势)和数据分布(偏态和峰态)
集中趋势从数据中选‘典型代表’,‘代表是否够典型’由离散程度检验
位置的度量
有些汇总统计量是描述数据“位置”的。其实数据的每个点都有自己的位置,不可能一一列举;能做到描述数据的“中间”或“中心”在哪里;所谓位置的度量就是用来描述定量资料的集中趋势的统计量,集中趋势,一组数据向着一个中心靠拢的程度,也体现了数据中心所在的位置
均值
R语言函数及格式:mean(x,trim=0,na.rm=FALSE),x是对象,如向量,矩阵,数组或数据框
-
当mean作用于矩阵或数值型数据框时,返回为一个值即所有数值的平均值;若想按行或列计算均值:apply(data,1,mean),行1列2;或采用colMeans(data),rowMeans(iris[,1:
3])等价于apply(iris[,1:3],2,mean)
-
trim参数,异常值:当研究的数据中存在异常值时,可以通过设置trim参数来调整纳入计算的样本数据来剔除异常值后再计算均值;trim取值范围0到0.5,表示在计算均值前需要去掉异常值的比例(个数length(data)*trim);trim参数是对排序后的数据从头到尾剔除相同个数元素再求均值的。
- na.rm,设置缺失值NA,当数据中有缺失值时需要将na.rm设置为TRUE
- weighted.mean(),对矩阵和数组计算加权平均值,对数据框并不适用;格式为weighted.mean(x,wt,na.rm=FALSE),wt为权重向量与x同维度,与时间相关的模型比较常用
几何平均数:N个变量值乘积的N次方根,主要用于计算平均增长率,比率
年收益率分别是,4.5%,2.1%,平均增长率是多少?104.5*102.1-100,然后再开方
sort(data):输出排序后的元素
order(data):输出排序后的位置
dput(data):一个神奇的函数,输出向量格式,可直接复制
被滥用的均值
非单峰分布不应使用,婴儿和父母的平均身高加一起就是两不靠
极值的影响
简单的算术平均,增益率等不适合
中位数
中位数描述数据中心位置的数字特征,对于对称分布的数据,均值与中位数比较靠近;对于偏态分布的数据,均值与中位数不同;中位数的一个显著特征是不受异常值的影响,具有稳健性,因此是非常重要的统计量
median(x,na.rm=FALSE)函数进行中位数,要是有缺失值需要将na.rm设置为TRUE,sort()函数
众数(离散变量)和分位数
众数不受极端值的影响,如果数据没有明显的集中趋势,那么众数可能不存在;也可能有两个最高峰点,那么就有两个众数。众数适用于数据量较多,并且数据分布偏斜程度较大有明显峰值时
R里面竟然没有找众数的函数。。。。。
百分位数:是中位数的推广;p分位数又称为100p百分位数,0.5分位数就是中位数,0.75分位数与0.25分位数(第75百分位数与第25百分位数)比较重要,分别称为上下百分四位数,分别记为Q3,Q1
quantile()函数计算观测百分位数
quantile(x,probs=seq(0,1,0.25),na.rm=FALSE,),seq()产生等差数列
离散程度的测量
离散程度
一组数据原理其中心的程度
-一组变异指标,主要用来刻画总体分布的变异状况或离散程度
- 数据分布的离散程度主要靠极差,四分差,平均差,方差,标准差等统计指标来度量
- 离散程度分析的主要作用有:1)衡量平均指标的代表性;2)反映社会经济活动的均衡性;3)研究总体标志值分布偏离正态分布的情况;4)抽样推断统计等分析的一个基本指标
极差
样本中两个极端值之差,也称全距。数据越分散,极差越大
R=xmax−xmin
极差只利用了数据两端的信息,容易受极端值的影响,并没有充分利用数列的信息
R代码:range(data)[2]-range(data)[1] 或者 max(data)-min(data) 或者 diff(range(data))
平均差
各变量与均值差的平均数,即平均差异,反应一组数据的离散程度
数学性质差(不能求导),未考虑数值分布
四分位差
两个四分位点之差,反应了中间50%数据的离散程度,其数值越小,说明数值越集中.
Qd=Ql−Qu
对数据掐头去尾,避免了极端值的影响,但没有充分利用数据信息
R代码:IQR(data) 或者quantile(data)获取各分位数据相减
方差与标准差
描述离散程度,最常用的指标,它们利用了样本的全部信息去描述数据取值的分散性。方差是各样本相对均值的偏差平方和的平均,计为s2
R语言:方差var(x,na.rm=FALSE,use),标准差:sd(x,na.rm = FALSE), 两者是sqrt()关系
cov()协方差矩阵;cor()相关矩阵
Z分数,数据标准化
变异系数
一组数据的标准差与平均数之比,成为变异系数,也叫离散系数
它是刻画数据相对分散性的一种度量,记为CV
相对的,去除了单位的影响,是无量纲统计量,用百分号表示。在实际应用中可以消除由于不同计量单位/不同平均水平所产生的影响
CV<-paste(round(100*sd(iris[,3])/mean(iris[,3]),2),'%',sep='')
1
偏度(Skewness)
描述某变量取值分布对称性,是三阶矩。
左偏分布<0,数据左侧有一个大尾巴,概率密度函数中,有很多极小值,均值往左边跑,均值小于中位数
右偏分布>0,数据右侧有一个大尾巴
对称分布=0
峰度(Kurtosis)
描述某变量所有取值分布形态陡峭程度,正态分布之间的较量,标准正态分布的峰度值是3
- 正态分布(0/3)
- 尖顶峰(>0/3)
- 平顶峰(<0/3)
其他分散程度度量
css,校正平方和
uss,未校正平方和
描述性统计量函数
基础包 summary()
应用于数值型变量将分别得到位置度量指标,即最小值min,上四分位数1st Qu,中位数median,下四分位数3rd Qu,最大值max;
当应用于因子型/逻辑型向量得到频数统计
Hmisc包中的describe()函数
可获取缺失情况,唯一值,各个详细的分位数,位置度量
pasteccs包中的stat.desc()函数
对数值型变量进行统计分析
使用格式为stat.desc(x,basic=TRUE,desc=TRUE,norm=FALSE,p=0.95),basic=TRUE设置一些基础统计参数展示,desc可设置一些描述性统计数值的展示.desc包含中位数/平均数/平均数的标准误/平均置信度为95%的置信区间/方差/标准差/变异系数。
当将norm设置为TRUE时,则返回正态分布统计量,包括偏度和峰度(以及它们的统计显著程度)和Shapiro-Wilk正态检验结果。
这里使用了p值来计算平均数的置信区间,默认置信度为0.95
psych包describe()函数
可以计算非缺失值的数量,标准差,截尾均数,绝对中位差,偏度等统计量。
偏态和峰态
反应总体分布形态的指标,偏态(数据分布不对称的方向和程度),峰态(数据分布图形的尖峭程度或扁平程度)
分组计算描述统计量
在比较多组个体或观测时,关注焦点通常是各组描述性统计信息,而不是样本整体的描述性统计信息,在R中主要有三种方法可以实现:
- aggregate():分组获取描述性统计量,可对单组或多组变量进行分组统计,by的变量一定要是list格式要不会报错~按照单变量分组
按照两个变量作为分组,且对不给list命名即不写‘am=’,跑出来的结果分组将会是Group1这种不友好的展示界面
aggregate()函数的另一种写法,写成公式发~分开
doBy包-summaryBy()函数波浪线左侧为需要分析的数值型变量,右边为类别型分组变量;其中data=及FUN=不可省略不写;FUN可为自定义变量,自定义函数时记得为函数起名字在展示时清楚
psych包中-describe.by()函数具体参数可看R帮助文档?describe.by()
列联表 (频数表)
类似excel的数据透视表
table(var1,var2…,varN):使用N个类别型变量(因子)创建一个N维列联表
- xtabs(formula,data):xtabs(~A+B,data=mydata)
根据一个公式和一个矩阵或数据框创建一个N维列联表;要进行交叉分类的变量应出现在公式的右侧,以+作为分隔符。若某个变量写在公式的左侧,则其为一个频数向量(在数据已经被表格格式化时很有用)
prop.table(table,margins):依margins定义的边际列表将表中条目表示为分数形式
margin.table(table,margins):依margins定义的边际列表计算表中条目的和,边界求和,margin=1对行求和,不写总体求和
addmargins(table,margins):将概述边margins(默认是求和结果)放入表中,margin控制加行/列的和,实现和excel一样的透视表
ftable(table):创建一个紧凑的“平铺”式列联表
相关性分析
相关系数可以用来描述定量变量之间的关系。相关系数的符号(+,-)表明关系的方向(正相关或负相关),其值的大小表明关系的强弱程度(完全不相关为0,完全相关为1);相关的类型,R可计算多种相关系数,包括Pearson相关系数(两个变量之间的线形相关程度),Spearman相关系数(分级定序变量之间的相关程度),Kendall相关系数(非参数的等级相关度量),偏相关系数,多分格(polychoric)相关系数和多系列(polyserial)相关系数。
** cor()函数可以计算这三种相关系数,**cov()可以用来计算协方差。cor(x,use=,method=),use指定缺失值处理方式,method,指定相关系数的类型,可选类型为pearson,spearman或kendall。默认设置为everything和pearson
显著性检验,cor.test(),来检验相关性的显著水平,cor只是计算相关性程度但没有检验其显著水平
缺失值处理可选为:all.obs,假设不存在缺失数据,遇到缺失数据时将报错;everything,遇到缺失值时,相关系数的计算结果被置为missing;complete.obs,行删除;pairwise.complete.obs,成对删除
psych包中的corr.test()函数:可以一次为pearson,Spearman,Kendall相关计算相关矩阵和显著性水平。
双向交叉表(列联表gmodels-crossTable()):表格中每个单元格内数量不同是由于悠然的可能性有多大
皮尔森卡方独立性检验:看一个变量的值是如何随着另一个值的变化而变化的
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31本人基本情况: 学校及专业:厦门大学经济学院应用统计 实习经历:快手数据分析、字节数据分析、百度数据分析 Offer情况:北京 ...
2025-01-3001专家简介 徐杨老师,CDA数据科学研究院教研副总监,主要负责CDA认证项目以及机器学习/人工智能类课程的研发与授课,负责过中 ...
2025-01-29