реклама
Бургер менюБургер меню

Антон Владзимирский – Проведение статистического анализа на языке программирования R в медико-биологических исследованиях. Учебное пособие (страница 8)

18

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

Продолжение листинга 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)