下面代码在R工作空间做平均值,中位数,四分位数,标准差,标准分的简单实践计算。
案例1
#从10——20里面随机选取5个数
> x <- runif(5,10,20)
> x
[1] 17.35065 15.03454 14.87279 17.62638 16.58668
#求平均值
> mean(x)
[1] 16.29421
#求中位数
> median(x)
[1] 16.58668
#求四分位数
> quantile(x)
0% 25% 50% 75% 100%
14.87279 15.03454 16.58668 17.35065 17.62638
#求标准差
> sd(x)
[1] 1.282915
#求标准分
> (17.35065-mean(x))/sd(x)
[1] 0.8234702
案例2
> #R自带的空气质量数据集 str 结构structure的缩写
> str(airquality)
'data.frame': 153 obs. of 6 variables:
$ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ...
$ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ...
$ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
$ Temp : int 67 72 74 62 56 66 65 59 61 69 ...
$ Month : int 5 5 5 5 5 5 5 5 5 5 ...
$ Day : int 1 2 3 4 5 6 7 8 9 10 ...
> #汇总数据包括 最小值、分位数、平均数、中位数、最大值、缺失值(NA's)
> summary(airquality)
Ozone Solar.R Wind Temp
Min. : 1.00 Min. : 7.0 Min. : 1.700 Min. :56.00
1st Qu.: 18.00 1st Qu.:115.8 1st Qu.: 7.400 1st Qu.:72.00
Median : 31.50 Median :205.0 Median : 9.700 Median :79.00
Mean : 42.13 Mean :185.9 Mean : 9.958 Mean :77.88
3rd Qu.: 63.25 3rd Qu.:258.8 3rd Qu.:11.500 3rd Qu.:85.00
Max. :168.00 Max. :334.0 Max. :20.700 Max. :97.00
NA's :37 NA's :7
Month Day
Min. :5.000 Min. : 1.0
1st Qu.:6.000 1st Qu.: 8.0
Median :7.000 Median :16.0
Mean :6.993 Mean :15.8
3rd Qu.:8.000 3rd Qu.:23.0
Max. :9.000 Max. :31.0
> #选取数据集airquality中的Ozone变量,汇总Ozone中的最小值、分位数、平均数、中位数、最大值、缺失值(NA's)
> summary(airquality$Ozone)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1.00 18.00 31.50 42.13 63.25 168.00 37
> #分位数
> quantile(airquality$Ozone, na.rm = T)#na.rm=T 对缺失值进行删除,存在缺失值,结果为NA
0% 25% 50% 75% 100%
1.00 18.00 31.50 63.25 168.00
> #平均值
> X <- mean(airquality$Ozone, na.rm = T)
> X
[1] 42.12931
> #中位数
> median(airquality$Ozone, na.rm = T)
[1] 31.5
> #标准差
> Y <- sd(airquality$Ozone, na.rm = T)
> #标准分,计算28在Ozone变量中的相对排名
> Z <- (28-X)/Y
> Z
[1] -0.4283182