最近一段时间,也就一周左右学习《深入浅出统计学》这本书的1—3章基础概念知识,光学理论没实践感觉还是缺了点啥,于是在谷歌上查了一下R编程语言和统计概率相关的内容,动手实践了一下用R编程语言来求一些统计量,比如均值,中位数,方差等,发现有了编程这个工具,用机器计算比人工用大脑,计算器计算快很多,不仅节约时间而且很准确。
产生的一个感悟是R语言其实充当的是在统计概率中,人工计算步骤中的翻译,就好像你讲中文但是需要和外国人交流,那么就需要一个会懂英语的人帮你把中文意思翻译成英文意思。在这个过程中需要培养的是自己的理解能力,即用R编程语言来理解用统计概率知识解决问题的能力。也就是换一种表达方式,用R语言来表达统计概率。
下面是我用R编程语言简单实践求“mtcar”中“hp”变量的一些基本统计量!
#下面显示“mtcar”中有11个变量,我选取的求其中的“hp”变量的各个统计量
> str(mtcars)
'data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...
#求均值
> mean(mtcars$hp)
[1] 146.6875
#求中位数
> median(mtcars$hp)
[1] 123
#求方差
> var(mtcars$hp)
[1] 4700.867
#求标准差
> sd(mtcars$hp)
[1] 68.56287
#求最大值
> max(mtcars$hp)
[1] 335
#求最小值
> min(mtcars$hp)
[1] 52
#求四分位数
> quantile(mtcars$hp,0.25)
25%
96.5
#求上下四分位数
> quantile(mtcars$hp, c(0.25,0.75))
25% 75%
96.5 180.0
对比一下,如果自己手算加上计算器算吧,假设计算“hp”变量的均值,则需要将110 110 93 110 175 105 245 62 95 123 ...这些数全部加起来算个总和,再除以总共有多少个数,是不是很费时间,要是计算器不小心按错一个数就全错了,那不前功尽弃,所以还是挺麻烦的。但是用R语言,直接敲上下面的代码,秒秒钟就算出来了,这感觉难道不酸爽么?嘿嘿!
#求均值
> mean(mtcars$hp)
[1] 146.6875
感觉又发现了一个新世界——编程语言的世界很奇妙!