Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие - читать онлайн бесплатно, автор Юрий Александрович Васильев, ЛитПортал
bannerbanner
Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие
Добавить В библиотеку
Оценить:

Рейтинг: 4

Поделиться
Купить и скачать

Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие

Год написания книги: 2025
На страницу:
3 из 5
Настройки чтения
Размер шрифта
Высота строк
Поля


где S – выборочное среднее квадратическое отклонение; N – количество исследований.

Ошибка средней величины для долей вхождения признака в данные также вычисляется по уравнению (8) с той лишь разницей, что вместо выборочного среднего квадратического отклонения в уравнение подставляется среднее квадратическое отклонение долей исследуемого признака (уравнение 5).

Предельная ошибка выборки вычисляется по уравнению (9):



где значение t представлено в таблице 4.



В медицинских исследованиях доверительный интервал принимается равным (10)49:



где  – среднее значение исследуемой величины; Δlim – предельная ошибка выборки исследуемой величины.

В случае оценки доли фактора и отклонения долей величина доверительного интервала вычисляется по уравнению (11):



где X̅e – средняя доля исследуемого признака, определенная по уравнению (3); Δelim – предельная ошибка выборки долей вхождения признака в данные.

На рисунке 6 изображено графическое представление доверительного интервала при условии данных, распределенных в соответствии с нормальным (Гауссовым) законом.


Рисунок 6 – Доверительный интервал (уравнение 10) выборочного среднего значения (расстояние от белой вертикальной линии до зеленой вертикальной линии)


Пример вычисления доверительных интервалов

На примере значений веса пациентов с подтвержденным диагнозом «анорексия» (набор данных anorexia пакета MASS) проведем анализ доверительных интервалов весов и долей пациентов в контрольной группе, группе с когнитивно-поведенческой терапией и в группе с назначенной семейной терапией.


Листинг 5


library (MASS) # Подключаем библиотеку, содержащую набор данных anorexia

library (ggplot2)

#========================================================

# Выделяем из набора данных подгруппы пациентов с разным типом лечения

#========================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt

#=====================================================

# Вычисляем средние значения

#=====================================================

meanCont <– mean (contData) # Средний вес в контрольной группе

meanCBT <– mean (cbtData) # Средний вес в когнитивно-поведенческой группе

meanFT <– mean (ftData) # Средний вес в группе семейной терапии

#========================================================

# Вычисляем среднее квадратическое отклонение

#========================================================

sdCont <– sd (contData) / (sqrt (length (contData))) # Среднее квадратическое

# отклонение веса в контрольной группе


Продолжение листинга 5


sdCBT <– sd (cbtData) / (sqrt (length (cbtData))) # Среднее квадратическое отклонение

# веса в когнитивно-поведенческой группе

sdFT <– sd (ftData) / (sqrt (length (ftData))) # Среднее квадратическое отклонение

# веса в группе семейной терапии

#=====================================================

# Вычисление доверительных интервалов в группах

#=====================================================

upCont <– meanCont+2*sdCont # Верхняя граница доверительного интервала в

# контрольной группе

downCont <– meanCont-2*sdCont # Нижняя граница доверительного интервала в

# контрольной группе

#=====================================================

upCBT <– meanCBT+2*sdCBT # Верхняя граница доверительного интервала в

# группе с когнитивно-поведенческой терапией

downCBT <– meanCBT-2*sdCBT # Нижняя граница доверительного интервала в

# группе с когнитивно-поведенческой терапией

#=====================================================

upFT <– meanFT+2*sdFT # Верхняя граница доверительного интервала в

# группе с семейной терапией

downFT <– meanFT-2*sdFT # Нижняя граница доверительного интервала в

# группе с семейной терапией

#=====================================================

# Построение графика средних значений и доверительных интервалов

#=====================================================

Продолжение листинга 5


dataAn <– data.frame (Type = c («Cont», «CBT», «FT»), Mean=c (meanCont, meanCBT, meanFT), Sd = c (sdCont, sdCBT, sdFT))

#=======================================================

grPP <– ggplot (data = dataAn, mapping = aes (Type, Mean))

grPP <– grPP + geom_point (mapping = aes (Type, Mean),colour=«blue», size=5)

grPP <– grPP + geom_errorbar (mapping = aes (ymin=Mean-2*Sd, ymax=Mean+2*Sd), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. title = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. title = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Weight, kg»)

print (grPP)

#=====================================================

# Вывод графика

#=====================================================


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


Рисунок 7 – Средние значения (синие кружочки) и доверительный интервал для доверительной вероятности 95,5% (красные линии, нижние и верхние горизонтальные линии обозначают границы доверительных интервалов) веса пациентов в трех группах (Cont – контрольной группе; CBT – группе с назначенной когнитивно-поведенческой терапией; FT – с назначенной семейной терапией) до проведения терапии


На примере того же набора данных продемонстрируем вычисление вероятности нахождения пациента с определенным весом в определенной группе и вычислим доверительный интервал для этой вероятности.


Листинг 6


# Вычисляем количество пациентов до прохождения лечения

#=====================================================

lenPrewt <– length (anorexia$Prewt) #Общее количество данных


Продолжение листинга 6


lenContPrew <– length (anorexia [anorexia$Treat==«Cont», ] $Prewt) # Количество

# данных в контрольной группе

lenCBTPrewt <– length (anorexia [anorexia$Treat==«CBT», ] $Prewt) # Количество

# данных в группе с когнитивно-поведенческой терапией

lenBTPrew <– length (anorexia [anorexia$Treat==«FT», ] $Prewt) # Количество

# данных в группе с семейной терапией

#=====================================================

# Вычисляем доли пациентов в каждой группе

#=====================================================

pCP <– lenContPrew/ lenPrewt # Доля в контрольной группе

pCBTP <– lenCBTPrewt/ lenPrewt # Доля в когнитивно-поведенческой группе

pBTP <– lenBTPrew/lenPrewt # Доля в семейной группе

#=====================================================

sdCP <– sqrt (pCP* (1-pCP)) # Среднее квадратичное отклонение долей в

# контрольной группе

sdCBT <– sqrt (pCBTP* (1- pCBTP))

sdBT <– sqrt (pBTP* (1- pBTP))

#=====================================================

# Результаты вычисления

#=====================================================

dataAn <– data.frame (Type = c («Cont», «CBT», «FT»), Mean=c (pCP, pCBTP, pBTP),

Sd = c (sdCP, sdCBT, sdBT))

#=====================================================

grPP <– ggplot (data = dataAn, mapping = aes (Type, Mean))

grPP <– grPP + geom_point (mapping = aes (Type, Mean),colour=«blue», size=5)


Продолжение листинга 6


grPP <– grPP + geom_errorbar (mapping = aes (ymin=Mean-2*Sd, ymax=Mean+2*Sd), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. title = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. title = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Proportion of patients»)

print (grPP)

#=====================================================

# Вывод графика

#=====================================================


На рисунке 8 графически изображены средние значения долей пациентов со средними квадратичными отклонениями в каждой из исследуемых групп пациентов до прохождения лечения.


Рисунок 8 – Доля пациентов в каждой группе (синяя точка) и доверительный интервал для 95,5% доверительной вероятности (красные линии обозначают ширину доверительного интервала, горизонтальными линиями обозначены границы доверительного интервала) доли пациентов в каждой группе пациентов, с назначенными различными типами терапии (Cont – контрольной группе; CBT – группе с назначенной когнитивно-поведенческой терапией; FT – с назначенной семейной терапией)


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

2.1.4. Поиск максимального, минимального значения и размах

Анализ максимального значения, минимального значения и размаха количественной величины дополняет анализ средних значений и доверительных интервалов в части оценки фактического разброса значений. Рассмотрим оценку максимального, минимального значений и размаха количественной величины на примере анализа веса пациентов с диагнозом «анорексия» в трех группах с различным видом назначенного лечения.


Листинг 7


library (MASS) #Подключаем библиотеку, содержащую набор данных anorexia

library (ggplot2) #Подключаем библиотеку построения графиков

#=====================================================

# Выделяем из набора данных подгруппы пациентов с разным типом лечения

#=====================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt

ftData <– anorexia [anorexia$Treat==«FT», ] $Prewt

#=====================================================

# Определяем максимальные значения в данных

#=====================================================

maxCont <– max50 (contData) # Максимальный вес до проведения лечения

# в контрольной группе пациентов

maxCBT <– max (cbtData) # Максимальный вес до проведения лечения

# в группе с назначенной когнитивно-поведенческой терапией

maxFT <– max (ftData) # Максимальный вес до проведения лечения

# в группе с назначенной семейной терапией

Продолжение листинга 7


#=====================================================

# Определяем минимальные значения в данных

#=====================================================

minCont <– min51 (contData) # Минимальный вес пациентов до прохождения лечения

# в контрольной группе

minCBT <– min (cbtData) # Минимальный вес пациентов до прохождения лечения

# в группе с назначенной когнитивно-поведенческой терапией

minFT <– min (ftData) # Минимальный вес пациентов до прохождения лечения

# в группе с назначенной семейной терапией

#=====================================================

# Определяем размах значений веса в каждой группе

#=====================================================

deltaCont <– maxCont – minCont # Размах значений веса пациентов до прохождения

# лечения в контрольной группе

deltaCBT <– maxCBT – minCBT # Размах значений веса пациентов до прохождения

# лечения в группе с назначенной когнитивно-поведенческой терапией

deltaFT <– maxFT – minFT # Размах значений веса пациентов до прохождения

# лечения в группе с назначенной семейной терапией

#=====================================================

# Группируем результаты вычислений

#=====================================================

Продолжение листинга 7


dataAn <– data.frame (Type = c («Cont», «CBT», «FT»),

Max=c (maxCont, maxCBT, maxFT),

Min = c (minCont, minCBT, minFT),

Delta = c (deltaCont, deltaCBT, deltaFT))

#=====================================================

grPP <– ggplot (data = dataAn, aes (Type, Max))

grPP <– grPP + geom_point (mapping = aes (Type, Min),colour=«magenta», size=7)

grPP <– grPP + geom_point (mapping = aes (Type, Max),colour=«blue», size=7)

grPP <– grPP + geom_errorbar (mapping = aes (ymin=Min, ymax=Max), colour=«red», linewidth=1.5,width = 0.5)

grPP <– grPP + theme_light ()

grPP <– grPP + theme(panel.border = element_rect (linewidth = 6, colour = «black»),

axis. title = element_text (size = 20, face = «bold», colour = «black»),

axis. text. x = element_text (size = 20, face = «bold», colour = «black»),

axis. text. y = element_text (size = 20, face = «bold», colour = «black»),

axis. ticks = element_line (linewidth = 3, colour = «black»),

legend. title = element_text (size = 20, face = «bold», color = «black»),

legend. text = element_text (size = 20, face = «bold», color = «black»))

grPP <– grPP + labs (x=«Therapy type», y=«Value range»)

print (grPP)


На рисунке 9 графически изображены размах значений массы тела в каждой из исследуемых групп пациентов до прохождения лечения.


Рисунок 9 – Размах значений веса пациентов (синие закрашенные кружочки – максимальный вес; фиолетовые кружочки – минимальный вес пациентов) до проведения лечения в трех группах (CBT – группа с назначенным когнитивно-поведенческим лечением; Cont – контрольная группа; FT – назначенная семейная терапия)


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

2.1.5. Понятие о квантилях, децилях, квартилях распределения

При проведении статистического анализа данных возникает необходимость оценки значения, соответствующего 5%52 от общего количества данных или 95% от общего количества данных. Для этих целей применяются различные уровни квантилей.

Квантили – это значения, которые делят упорядоченную выборку на равные доли.

Допустим, имеется произвольный ряд десятичных чисел:


85.50 99.69 37.19 47.43 40.26 93.58 68.97 19.50 87.39 43.81 42.96 6.985.22 62.67 47.16 76.30 69.56 59.40 92.33 31.22 41.59 33.27 30.25 36.7749.43 33.85 27.44 8.45 99.84 52.81


Нам необходимо определить, какое значение соответствует 5% в представленном ряду значений. Для решения данной задачи необходимо выстроить числа ряда в порядке возрастания (от меньшего к большему):


5.21 6.98 8.45 19.50 27.44 30.25 31.22 33.27 33.85 36.77 37.18 40.26 41.59 42.96 43.81 47.16 47.43 49.43 52.81 59.40 62.67 68.97 69.56 76.30 85.50 87.39 92.33 93.58 99.69 99.84


В данном ряду содержится 30 значений, номер значения, соответствующего 5% данного ряда, равен 1.5, т.е. между первым и вторым значением соответственно квантиль будет равен:



Децили – значения, которые делят упорядоченную выборку на десять примерно равных частей. Допустим, необходимо разделить ряд, представленный выше, на 10 равных частей с шагом в 10%, тогда децили будут равны (процедура поиска значения, соответствующего каждому проценту, такая же, как в описанном выше примере):



Наиболее часто применяемыми на практике являются квартили – значения, которые делят упорядоченную выборку на четыре примерно равные части. Для приведенного ранее ряда значения квартилей равны:



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


Рисунок 10 – Межквартильный интервал (между первым и третьим квартилем) представлен зелеными вертикальными линиями


В межквартильном интервале находятся 50% всех встречаемых значений измеряемой величины. Первый квартиль ограничивает слева 25% (первая зеленая вертикальная линия при просмотре рисунка 10 слева направо) значений, а третий – 75% (вторая зеленая вертикальная линия при просмотре рисунка 10 слева направо).


Пример вычисления квантилей, децилей и квартилей

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


Листинг 8


library (MASS) # Подключаем библиотеку, содержащую набор данных anorexia

Продолжение листинга 8


library (ggplot2) #Подключаем библиотеку построения графиков

#=======================================================

# Выделяем из набора данных подгруппы пациентов с разным типом

# назначенного лечения

#=======================================================

contData <– anorexia [anorexia$Treat==«Cont», ] $Prewt #Вес пациентов в

# контрольной группе до проведения лечения

cbtData <– anorexia [anorexia$Treat==«CBT», ] $Prewt # Вес пациентов в группе

# с назначенным когнитивно-поведенческим лечением до проведения лечения

На страницу:
3 из 5