Статистические Тесты В R. Часть 3: Проверка Количественных Данных

Это третья статья из серии об использовании R для статистического анализа данных, в которой рассматривается представление и тестирование количественных данных.

Вы узнаете, как быстро и четко представлять данные, а также как использовать t-тест в R. Часть 1: Бинарная классификация Часть 2: Качественный анализ данных Идти! Для начала хочу еще раз привести схему из предыдущей статьи:

Статистические тесты в R. Часть 3: Проверка количественных данных

" Парные данные отличаются тем, что данные для тестовых групп были получены от одних и тех же объектов.

Приложения для t-теста: влияние любого фактора на изменение продаж/скорости приложения/срока жизни устройства, сравнение двух групп людей по продуктивности.

Если групп несколько, то для анализа используются модели ANOVA (ANOVA — дисперсионный анализ), о которых пойдет речь в следующих статьях.



Представление данных перед анализом

Начнем с того, как представить данные.

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

Я опишу это кратко.

Люди из двух групп — основной и контрольной — выполнили несколько упражнений.

До и после занятий измеряли их физиологические параметры.

Попробуем проанализировать пульс и объем форсированного выдоха.

Помимо t-тестов, я расширю предыдущую статью и покажу, как получить качественные данные из чисел.

Так:

  
  
  
  
   

tab <- read.csv(file="data1.csv", header=TRUE, sep=",", dec=".

") attach(tab) tab tab <- cbind(tab, pulsediff=pulse2-pulse1, FEVcut2.5=cut(FEV1_1, c(0,2.5,max(FEV1_1)+0.1))) str(tab) detach(tab) attach(tab)

Мы генерируем дополнительный столбец с разницей в частоте сердечных сокращений до и после, а также дополнительный столбец качественных данных для объема форсированного выдоха, который можно проверить с помощью теста хи-квадрат. Последнее делается с помощью функции обрезки.

Мы задаем данные и вырезаем в них точки.

На выходе:

Статистические тесты в R. Часть 3: Проверка количественных данных

" Давайте двигаться дальше.

Рассчитаем средние значения и стандартные отклонения и построим наглядные графики.



mean(pulsediff[group==0], na.rm=T) mean(pulsediff[group==1], na.rm=T) sd(pulsediff[group==0], na.rm=T) sd(pulsediff[group==1], na.rm=T) boxplot(pulsediff~group, main="Distribution of pulse difference stratified by group", names=c("control-group", "exercise-group"), ylab="pulse difference")

Из важного момента, который я хочу отметить, na.rm=T .

Если ваши данные содержат пустые ячейки, R удалит их автоматически.

В противном случае вы получите сообщение об ошибке.

Бокс-сюжет — очень хороший метод визуализации образца.

Он показывает максимум и минимум, среднее значение, а также 25- и 75-процентные квантили вероятности.



Статистические тесты в R. Часть 3: Проверка количественных данных

Теперь поговорим о разнице между парными и независимыми данными со статистической точки зрения.

В случае независимых данных для анализа используется следующий доверительный интервал:

Статистические тесты в R. Часть 3: Проверка количественных данных

Среднее значение здесь представляет собой разницу между средними значениями каждой выборки, а стандартное отклонение рассчитывается с использованием специальной формулы для расчета разницы.

В случае парных данных мы вычитаем значения попарно и получаем новую выборку, из которой находим среднее значение и стандартное отклонение.

Доверительный интервал:

Статистические тесты в R. Часть 3: Проверка количественных данных



Использование тестов в R



#Paired data #approach 1: t.test(pulsediff[group==1]) t.test(pulsediff[group==0]) #approach 2: t.test(pulse1[group==1], pulse2[group==1], paired=T) t.test(pulse1[group==0], pulse2[group==0], paired=T)

Здесь мы посмотрим на разницу между частотой сердечных сокращений до и после в одной группе.

Вы можете использовать t.test двумя способами: отправив ему разницу или два массива данных.



Статистические тесты в R. Часть 3: Проверка количественных данных

" Выводы: в группе 0 нет разницы до и после, в группе 1 разница есть, т.к.

р-значение много менее 5% .



#Unpaired data t.test(pulsediff~group)

Здесь мы анализируем разницу между группами.

Данные независимы.

Строго говоря, R использует тест Уэлча, который немного отличается от обычного t-теста.

Критерий Уэлча более точен и сходится при большом размере выборки.



Статистические тесты в R. Часть 3: Проверка количественных данных

" Выводы: разница между группами существенная, т.к.

значение р много менее 5% .



#Descriptive analysis: library(prettyR) str(FEVcut2.5) str(sex) xtab(sex~FEVcut2.5, data=tab) #Inferential analysis: chisq.test(table(sex, FEVcut2.5), correct=F) #ADD: chisq.test(table(sex, FEVcut2.5)) fisher.test(table(sex, FEVcut2.5))

Здесь мы сравниваем объем форсированного выдоха у мужчин и женщин.

Таблица (из R gui, в RStudio лично у меня таблицы немного некорректно отображаются):

Статистические тесты в R. Часть 3: Проверка количественных данных

" Полученные результаты:

Статистические тесты в R. Часть 3: Проверка количественных данных

" Здесь мы применили целых три теста, увеличивая сложность и точность.

Я еще раз рекомендую использовать тест Фишера, но имейте это в виду.

Выводы: Тесты дали разные результаты, но значение p по-прежнему очень мало.

Группы отличаются друг от друга.



Полученные результаты

Итак, сегодня мы рассмотрели примеры использования тестов.

Этой информации достаточно для проведения достаточно качественных статистических исследований.

Эти методы можно применять в любой сфере.

Их использование убережет вас от ошибок, позволит объективно оценить свою работу и предоставить другим людям объективно достоверную информацию.

Есть еще несколько тем, которые я хочу затронуть, касающихся оценки необходимого размера выборки, доказательства равенства случайных величин и моделей ANOVA. Теги: #r #статистика #анализ данных #математика #статистические тесты #статистический анализ #математика #r

Вместе с данным постом часто просматривают: