Скачиваний:
75
Добавлен:
25.12.2019
Размер:
59.32 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра БТС

отчет

по лабораторной работе №1

по дисциплине «Планирование медико-биологического эксперимента»

Тема: Работа в R: данные и графики

ВАРИАНТ 1

Студент гр. 7501

Исаков А.О.

Преподаватель

Сидорова М.А.

Санкт-Петербург

2019

  1. Цель работы

Ознакомиться с возможностями R применимыми к анализу данных.

  1. Задание на выполнение работы

Для предоставленных к работе файлов exel требуется сравнить значения признака ApEn (1) для двух групп сигналов ЭКГ (на выбор, например, НР и ЧЭ), используя метод доверительных интервалов.

1) Загрузить данные в R:

- создать таблицу в Excel, состоящую из двух столбцов данных: в соответствии с заданием

- создать файл формата *.txt, в который скопировать таблицу с данными из Excel

- загрузить таблицу с данными в R, используя функцию read.table(“name.txt”).

2) Создать в R две переменные, соответствующие столбцам загруженной таблицы данных. Таблица данных является матрицей!

3) С помощью R получить значения среднего, выборочной дисперсии и стандартного отклонения (СКО) для каждой из двух переменных.

4) С помощью R найти значения верхнего и нижнего пределов доверительного интервала среднего значения для каждой переменной, принять доверительную вероятность P=95%.

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

  1. Исходные данные

Для НР и ЧЭ соответственно

1.434 0.553

1.480 0.670

1.307 0.697

1.235 0.702

1.345 0.729

1.265 0.708

1.201 0.696

1.228 0.777

1.840 0.279

1.806 0.189

1.040 0.680

1.875 0.218

1.078 0.697

1.058 0.716

1.140 0.683

1.975 0.158

1.232 0.579

1.339 0.452

1.295 0.577

1.465 0.472

0.808 0.497

1.449 0.678

1.315 0.460

1.444 0.612

1.245 0.663

  1. Программный код

#Задание 1. Считываем массив

a1=read.table("B:/Документы/R/Лаба 1/DataFile1.txt")

dim(a1)

#Задание 2. Разбиваем на массивы-столбцы 25 на 1, и выводим сводку о данных str

p=a1[,1]

str(p)

p1=a1[,2]

str(p1)

#Задание 3.

#Считаем матожидание для каждого из массивов

mat=mean(p)

str(mat)

mat1=mean(p1)

str(mat1)

#Считаем дисперсию для каждого из массивов

disp=var(p)

str(disp)

disp1=var(p1)

str(disp1)

#Считаем СКО для каждого из массивов

sko=sd(p,na.rm=FALSE)

str(sko)

sko1=sd(p1,na.rm=FALSE)

str(sko1)

#Задание 4. Находим доверительный интервал

student=2.06389856163

deltaX=student*sko/sqrt(25)

str(deltaX)

deltaX1=student*sko1/sqrt(25)

str(deltaX1)

str('Результат 1 Нижняя граница')

str(mat-deltaX)

str('Результат 1 Верхняя граница')

str(mat+deltaX)

str('Результат 2 Нижняя граница')

str(mat1-deltaX1)

str('Результат 2 Верхняя граница')

str(mat1+deltaX1)

#Задание 5.Построение граФика

#method = stack -совмещает совпадающие точки

stripchart(a1,method="stack",col="blue",pch=1,vertical="True",xlab="Группа",ylab="Значение параметра")

segments(x0=0.97,y0=mat,x1=1.03,y1=mat, lwd = 3, lend = "square")

segments(x0=1.97,y0=mat1,x1=2.03,y1=mat1, lwd = 3, lend = "square")

arrows(x0=1,y0=mat-deltaX,x1=1,y1=mat+deltaX,angle = 90, code = 3, length = 0.05, lwd = 1, lend = "square")

arrows(x0=2,y0=mat1-deltaX1,x1=2,y1=mat1+deltaX1,angle = 90, code = 3, length = 0.05, lwd = 1, lend = "square")

  1. Cводка из консоли

a1=read.table("B:/Документы/R/Лаба 1/DataFile1.txt")

> dim(a1)

[1] 25 2

> p=a1[,1]

> str(p)

num [1:25] 1.43 1.48 1.31 1.24 1.34 ...

> p1=a1[,2]

> str(p1)

num [1:25] 0.553 0.67 0.697 0.702 0.729 0.708 0.696 0.777 0.279 0.189 ...

> mat=mean(p)

> str(mat)

num 1.36

> mat1=mean(p1)

> str(mat1)

num 0.566

> disp=var(p,y=NULL,na.rm=FALSE)

> str(disp)

num 0.0771

> disp1=var(p1,y=NULL,na.rm=FALSE)

> str(disp1)

num 0.0331

> sko=sd(p,na.rm=FALSE)

> str(sko)

num 0.278

> sko1=sd(p1,na.rm=FALSE)

> str(sko1)

num 0.182

> student=2.06389856163

> deltax=student*sko/sqrt(25)

> str(deltax)

num 0.115

> deltax1=student*sko1/sqrt(25)

> str(deltax1)

num 0.0751

> str('Результат 1 Нижняя граница')

chr "Результат 1 Нижняя граница"

> str(mat-deltax)

num 1.24

> str('Результат 1 Верхняя граница')

chr "Результат 1 Верхняя граница"

> str(mat+deltax)

num 1.47

> str('Результат 2 Нижняя граница')

chr "Результат 2 Нижняя граница"

> str(mat1-deltax1)

num 0.491

> str('Результат 2 Верхняя граница')

chr "Результат 2 Верхняя граница"

> str(mat1+deltax1)

num 0.641

> stripchart(a1,method="stack",col="blue",pch=1,vertical="True",xlab="Группа",ylab="Значение параметра")

> segments(x0=0.97,y0=mat,x1=1.03,y1=mat, lwd = 3, lend = "square")

> segments(x0=1.97,y0=mat1,x1=2.03,y1=mat1, lwd = 3, lend = "square")

> arrows(x0=1,y0=mat-deltax,x1=1,y1=mat+deltax,angle = 90, code = 3, length = 0.05, lwd = 1, lend = "square")

> arrows(x0=2,y0=mat1-deltax1,x1=2,y1=mat1+deltax1,angle = 90, code = 3, length = 0.05, lwd = 1, lend = "square")

  1. Графики, полученные в ходе работы

Рисунок 1. Значение ЭКГ для двух групп данных

  1. Выводы

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

М1 =1, 35 D1 = 0,08 S1 = 0,28

М2= 0,56 D2 = 0,03 S2 = 0, 18

Был рассчитан доверительный интервал среднего значения для каждой переменной, приняли доверительную вероятность P=95%.

t=2.06389856163

Х1 = [1,24; 1,47]

Х2 = [0,48; 0,63]

По полученным результатам можно утверждать, что значения ЭКГ для здорового человека с нормальным ритмом сердцебиения заметно отличаются от ЭКГ человека с частой экстрасистолией.

Соседние файлы в папке Лаба 1 (Работа в R данные и графики)