搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > R语言小白速通 > R语言描述统计

R语言描述统计

R语言小白速通 2019-11-08

内容目录

  • 连续变量

    • 集中趋势

    • 离散趋势

    • 分布特征

    • R操作

  • 分类变量

    • 单分类变量

    • 双分类变量

    • SPSS格式



连续变量

连续变量的描述统计包括集中趋势、离散趋势、分布特征

集中趋势

集中趋势表示的是数据分布的中心位置,它在一定水平上可以有效反映整体的情况。常见的指标有平均值、中位数等。

  • 平均值(Mean)

平均值(均数)是最常用的描述数据分布集中趋势的统计指标。它需要考虑所有个案的数据情况,容易受到极端值的影响,统计上不适用描述严重偏态分布的变量。均数分为总体均数和样本均数,日常搜集的数据描述的都是样本均数。样本均数是各数据相加再除以样本数量n得来,即:

  • 中位数(Median)

中位数是将全体数据按大小顺序排列,处于数列中间位置的值。它考虑的是大小顺序位置,不受极端值影响。又因为它只考虑顺序位置,所以对信息利用不充分。根据样本数量n的奇偶不同而不同。

n为奇数时:

n为偶数时:

离散趋势

离散趋势反映的数据的波动范围。常见指标z有标准差、四分位数间距等。

  • 标准差(sd)

数据的离散程度的大小就是与平均值的差值,简称离均差。总体方差由离均差平方和除以观察例数n得到。标准差就是方差的开平方。它要求正态分布的数据,以准确反映。标准差越大,说明内部差异越大,平均值的整体代表性越差。样本标准差的公式为:

  • 四分位距(IQR)

四分位数(Quartile)是统计学中分位数的一种,即把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range, IQR)四分位距可以排除极小和极大两端极端值影响,又尽可能利用数据反映离散情况。四分位位置公式为:

其中,P为百分比(取值25,50,75,100),n为样本总量,L为分位数位置。求出分位数位置L,L如果是不是整数则取第L和第L+1的平均值。以此可以求出Q3、Q1的值。

分布特征

随着统计学发展,研究者开始假设数据所在总体应当服从某种分布。每一种分布,都有一系列指标可以描述数据偏离分布的程度。如常见正态分布的相关指标偏度与峰度。

  • 偏度(Skewness)

偏度是用来描述变量取值分布形态的统计量,指分布不对称的方向和程度。偏度系数记为g1:

当g1>0时分布为正偏或右偏,g1<0是分布为负偏或左偏。g1=0时对称分布。

  • 峰度(Kurtosis)

峰度是描述变量取值分布形态陡缓程度的统计量,反映分布图形的峰凸程度。记作g2:

当g2>0时峰形尖锐,g2<0是峰形平坦,g2=0时为正态峰。

R操作

R操作比较简单,直接调用函数即可。常见函数及功能如下:

函数 功能
mean() 平均数
median() 中位数
sd() 标准差
var() 方差
quantile(x,probs) 求分位数。其中x为待求分位数的数值型向量,probs为一个由[0,1]之间的概率值组成的数值向量
range() 值域
sum() 求和
diff(x,lag=n) 滞后差分。lag用以指定滞后几项,默认为1
min() 求最小值
max() 求最大值

也有一步到位求出常用值的函数如:summary()函数 Hmisc包:describe()函数(不再演示) Psysh包:describe()函数(不再演示)

#生成20个随机数x <- rnorm(20)#summary函数summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. -0.9533 -0.5187 -0.1645 0.1239 0.8248 1.6144

分类变量

分类变量的描述统计指标一般就是频率和百分比。单个分类变量的描述用频率,多个分类变量的描述用列联表表示。常用函数如下:

函数 功能
table(var1,var2,...varN) 使用N个分类变量创建一个N维列联表
xtabs(formula,data) 根据一个公式和一个矩阵或数据框创建一个N维列联表
prop.table(table,margins) 依margins定义的边际列表将表中条目表示为分数形式
margin.table(table,margins) 依margins定义的边际列表计算表中条目的和
addmargin(table,margins) 将概述边margins(默认求和结果)放入表中
ftable(table) 创建一个紧凑平铺的列联表

单分类变量

示例:

#自行安装vcd包#使用vcd包Arthritis数据集。#载入vcd包library(vcd)#显示Arthritis数据集前5行head(Arthritis) ID Treatment Sex Age Improved1 57 Treated Male 27 Some2 46 Treated Male 29 None3 77 Treated Male 30 None4 17 Treated Male 32 Marked5 36 Treated Male 46 Marked6 23 Treated Male 58 Marked#单分类变量描述统计mytable <- table(Arthritis$Improved)mytable
None Some Marked 42 14 28 #可以用prop.table将这些频数转化为比例值prop.table(mytable)
None Some Marked 0.5000000 0.1666667 0.3333333 #prop.table*100转化为百分比prop.table(mytable)*100
None Some Marked 50.00000 16.66667 33.33333

双分类变量

双分类变量描述统计的table格式为:

mytable<-table(A,B)

其中A为行变量,B为列变量。

xtable函数可以使用公式风格的输入创建列联表,格式为:

mytable<-xtable(~A+B,data=mydata)

示例:

mytable <- xtabs(~Treatment+Improved,data=Arthritis)mytable ImprovedTreatment None Some Marked Placebo 29 7 7 Treated 13 7 21

SPSS格式

还可以使用gmodels包中CrossTable()函数创建二维列联表。返回的结果类似SPSS和SAS软件中的列联表格式。

#载入gmodels包library(gmodels)#调用CrosTable函数CrossTable(Arthritis$Treatment,Arthritis$Improved)#结果太大,不再展示


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《R语言描述统计》的版权归原作者「R语言小白速通」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注R语言小白速通微信公众号

R语言小白速通微信公众号:DA_BY_R

R语言小白速通

手机扫描上方二维码即可关注R语言小白速通微信公众号

R语言小白速通最新文章

精品公众号随机推荐