实验目的

掌握R语言对数据集进行描述性统计的函数及用法

实验原理

在R中经常使用summary()函数进行描述性统计,它会显示数据框每一列的平均值,中位数,四分位数等统计量。另外还有其他函数可以返回数据集中的描述性统计量,用户也可以自定义函数

实验步骤

本节教程使用iris数据集进行操作,下面的操作返回iris数据集中每一列的最小值、最大值、中位数、四分位数、均值等统计量

> summary(iris)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500

cor()函数可以返回两向量的回归系数、cov()函数计算两向量之间的协方差、IQR()返回四分位距、mean()函数计算均值、median()函数计算中位数、range()函数返回最小值和最大值、sd()函数计算标准差、var()函数计算方差,举例如下:

> x <- iris$Sepal.Length
> y <- iris$Sepal.Width
> cor(x,y)
[1] -0.1175698
> cov(x,y)
[1] -0.042434
> IQR(x)
[1] 1.3
> mean(x)
[1] 5.843333
> median(x)
[1] 5.8
> range(x)
[1] 4.3 7.9
> sd(x)
[1] 0.8280661
> var(x)
[1] 0.6856935

如果要对数据框中的多个变量使用相同的统计函数,可以用apply()。比如在接下来的例子中,就用apply()对iris数据集的前三个变量进行了标准差计算,另外还有其他类似的函数比如lapply() 以及 sapply()可以对列表和向量运用各种函数

> apply(iris[,c(1:3)], MARGIN=2, FUN=sd)
Sepal.Length  Sepal.Width Petal.Length 
   0.8280661    0.4358663    1.7652982

此外,也可以自定义函数对变量进行统计运算,在下例中,运用R语句定义了一个函数my_range(),来计算由range()函数返回的最大值与最小值之差

> my_range <- function(v) {range(v)[2] - range(v)[1]}
> my_range(iris$Petal.Length)
[1] 5.9

results matching ""

    No results matching ""