连续变量
连续变量的描述统计包括集中趋势、离散趋势、分布特征
集中趋势
集中趋势表示的是数据分布的中心位置,它在一定水平上可以有效反映整体的情况。常见的指标有平均值、中位数等。
- 平均值(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 Improved
1 57 Treated Male 27 Some
2 46 Treated Male 29 None
3 77 Treated Male 30 None
4 17 Treated Male 32 Marked
5 36 Treated Male 46 Marked
6 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
Improved
Treatment 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)
#结果太大,不再展示