вторник, 24 февраля 2015 г.

Описательная статистика в R

Описательные статистические параметры - это первое, что вычисляется практически для любого набора данных. Они также являются основой для более сложных вычислений, поэтому остаются важным этапом процесса анализа данных. В этом руководстве мы рассмотрим способы расчеты описательной статистики в R, включая среднее арифметическое, стандартное отклонение, диапазон и квантили. Кроме того, мы изучим функцию summary - одну из самых полезных в R.

Для примера я создал набор нормально распределенных данных с помощью функции rnorm:

> A <- mean="15," n="100," rnorm="" sd="5)" span="">> B <- clear="none" mean="25," n="100," rnorm="" sd="3)<br">
> DATAVAR<-data .frame="" a="A,b=B)</span">

Среднее арифметическое

В R среднее значение отдельной переменной можно вычислить с помощью команды mean(VAR), где VAR - это имя вашей переменной.  Для нашего набора данных:



> mean(DATAVAR$a)
[1] 14.3507
> mean(DATAVAR$b)
[1] 25.14172

Стандартное отклонение

Стандартное отклонение в R рассчитывается аналогично среднему значению. Для этого используется команда sd(VAR).

> sd(DATAVAR$a)
[1] 4.697135
> sd(DATAVAR$b)
[1] 3.014339

Медиана


Рассчитывается с помощью функции median(VAR):

> median(DATAVAR$a)
[1] 14.63023

Минимум и максимум

Минимальное и максимальное значения переменной в наборе данных можно найти с помощью функций min(VAR) и max(VAR) соответственно. Однако мы можем также найти минимальное или максимальное значение среди всего набора данных с помощью команды вида min(DATAVAR) или max(DATAVAR).

> min(DATAVAR$a)
[1] 5.573914
> max(DATAVAR$a)
[1] 24.49713
> min(DATAVAR)
[1] 5.573914
> max(DATAVAR)
[1] 32.24042

Диапазон

Узнать сразу и минимальное и максимальное значение переменной (или набора данных) можно с помощью команды range:

> range(DATAVAR$a)
[1]  5.573914 24.497128
> range(DATAVAR$b)
[1] 17.39430 32.24042
> range(DATAVAR)
[1]  5.573914 32.240417

Квантили

Квантили (то есть значения, которые случайная величина не превышает с заданной вероятностью) в R можно найти с помощью функции quantile().

> quantile(DATAVAR$a)
       0%       25%       50%       75%      100% 
 5.573914 10.118078 14.630233 17.706061 24.497128 

Можно также задать требуемый диапазон вероятностей.

> quantile(DATAVAR$a, c(0.25, 0.75))
     25%      75% 
10.11808 17.70606 

Иногда нам требуется обратный расчет, то есть рассчитать вероятность, с которой случайная величина не превышает заданное значение. Это можно сделать следующим образом:
1. Посчитать количество значений переменной, меньших либо равных заданному значению.
2. Разделить результат на общее количество значений.
3. Умножить на 100 (чтобы получить ответ в процентах).

Давайте рассчитаем, с какой вероятностью значение переменной DATAVAR$a будет не более 12.

> length(DATAVAR$a[DATAVAR$a <= 12]) / length(DATAVAR$a) * 100
[1] 31

Отсутствующие данные

Необходимо отметить, что все вышеперечисленные функции чувствительны к наличию значений NA в наборах данных. Если в вашем наборе такие значения имеются, посчитать статистические показатели с помощью вышеприведенных функций просто так не получится. Для того, чтобы R автоматически пропускал отсутствующие значения, необходимо добавить и активировать опцию na.rm:

> mean(DATAVAR$a, na.rm = TRUE)

Summary

Помимо вышеперечисленных, в R также имеется очень полезная многоцелевая функция summary(), которую можно применять к различным объектам, которая рассчитывает основные статистические показатели набора данных. Например:

> summary(DATAVAR)
       a                b        
 Min.   : 5.574   Min.   :17.39  
 1st Qu.:10.118   1st Qu.:23.09  
 Median :14.630   Median :25.21  
 Mean   :14.351   Mean   :25.14  
 3rd Qu.:17.706   3rd Qu.:27.26  
 Max.   :24.497   Max.   :32.24  

В общем случае вывод функции зависит от типа объекта, для которого вычисляются статистические показатели.

Комментариев нет:

Отправить комментарий