2009-12-04 11:09:37| 分类: R&Bioconductor | 标签: |举报 |字号大中小 订阅
8 May
※过了一个黄金周,呵呵,都不知道该怎么上班了~~
今天简单的讲一下如何用R进行基本的统计计算。
定义:
数据有很多种分类方法,在这里,为了方便理解,暂时把年龄、身高、体重等用数字表示的数据叫做数量型数据;相对的,把血型、性别、职称等用文字叙述的数据叫做质量型数据。
在这里所说的基本的统计计算,是指对各类数量型数据进行求和、平均、求最大值最小值等等的计算。
●和与百分比
A:和
在对数量型数据进行分析计算时,求和是经常会使用到的。
比如说,有五位同学,他们的身高分别是:
1.75米 、 1.82米 、 1.78米 、 1.93米 、 1.77米
求他们的身高的总和。
和 = 1.75+1.82+1.78+1.93+1.77 = 9.05米
用R进行求和计算时,你可以按照下面的方式进行计算
> 1.75+1.82+1.78+1.93+1.77
[1] 9.05
也可以利用R本身的sum()函数,这样的话,会更加便捷。
> shengao <- c(1.75,1.82,1.78,1.93,1.77)
> sum(shengao)
[1] 9.05
B:百分比
还是刚才那5位同学,他们的体重分别是:
69公斤 , 80公斤 , 78公斤 , 96公斤 , 65公斤
他们的总体重为:
> tizhong <- c(69,80,78,96,65)
> sum(tizhong)
[1] 388
388公斤。
那么,第一位同学占总体重的多少呢?
按比例计算:
> tizhong/sum(tizhong)
[1] 0.1778351 0.2061856 0.2010309 0.2474227 0.1675258
按百分比计算:
> 100*(tizhong/sum(tizhong))
[1] 17.78351 20.61856 20.10309 24.74227 16.75258
使用扩展包sca中的percent函数,可以用带%符号的表示方式显示结果。
> library(sca)
> percent(tizhong/sum(tizhong))
[1] “18 %” “21 %” “20 %” “25 %” “17 %”
还可以用参数d来指定小数点后的表示位数。在不指定的情况下,小数点后的数字不表示。
> percent(tizhong/sum(tizhong),d=1)
[1] “17.8 %” “20.6 %” “20.1 %” “24.7 %” “16.8 %”
如果不想结果被双引号包围,可以用noquote命令
> noquote(percent(tizhong/sum(tizhong),d=1))
[1] 17.8 % 20.6 % 20.1 % 24.7 % 16.8 %
●表示中心的统计量
表示数据中心位置的统计量有很多种,最基本的有:平均值、最频值。
A:平均值
上面那五位同学的年龄分别为:
19岁 、 21岁 、 20岁 、 26岁 、 17岁
在求这五位同学的年龄的平均值时,可以用下面这种方法:
> (19+21+20+26+17)/5
[1] 20.6
也可以用R自带的mean()函数:
> nianling <- c(19,21,20,26,17)
> mean(nianling)
[1] 20.6
B:最频值
在数据中最频繁出现的数值叫做最频值。
我们先用其他的函数来间接的求最频值。
例如:我们在求下面这组数据的最频值时,可以使用table函数。
1 , 7 , 3 , 7 , 8 , 23 , 5 , 7 , 9 , 3 , 4
> table(c(1 , 7 , 3 , 7 , 8 , 23 , 5 , 7 , 9 , 3 , 4))
1 3 4 5 7 8 9 23
1 2 1 1 3 1 1 1
从返回的结果中我们可以清楚地看到,在数据中 “7” 出现了3次,因此 “7” 为该组数据的最频值。
接着,我们直接用函数median()来求最频值。
> median(c(1 , 7 , 3 , 7 , 8 , 23 , 5 , 7 , 9 , 3 , 4))
[1] 7
●表示分散的统计量
表示数据中心的统计量虽然很重要,但是表示数据四周的分散信息的统计量也十分的重要。
A:最大值、最小值和范围
我们用tizhong数据,分别计算五位同学体重的最大值、最小值和体重的分布范围。
最大值
> max(tizhong)
[1] 96
最小值
> min(tizhong)
[1] 65
范围
> range(tizhong)
[1] 65 96
B:方差和标准偏差(variance AND standard deviation)
在R中,有很方便的求方差和标准偏差的函数var()和sd()。
例如在求tizhong数据的方差和标准偏差时,可以如下计算。
方差:
> var(tizhong)
[1] 144.3
标准偏差:
> sd(tizhong)
[1] 12.01249
C:四分位数
四分位数是指把样本数据按从小到大的顺序等分成四份,各等分点上的数即为四分位数。
例如:数据
3(0%点) 5 6(25%点) 8 9(50%点) 11 12(75%点) 15 16(100%点)
25%点的6和75点的12分别称为下四分位数和上四分位数。
上四分位数与下四分数之差叫做四分位间距。
在R中我们可以用quantile()函数和IQR()函数来求四分位数和四分位间距。
> sifenshu <- c(3,5,6,8,9,11,12,15,16)
> quantile(sifenshu)
0% 25% 50% 75% 100%
3 6 9 12 16
> IQR(sifenshu)
[1] 6
今天简单介绍了一下如何用R对一些基本的统计量进行计算,如果有其它的要求的,欢迎提出来,我会进一步介绍的。今天就先到这里了,呵呵。
评论