Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Определение чувствительности и специфичности комбинации маркеров
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
Страницы: 1, 2
p2004r
Цитата(Диана @ 27.08.2012 - 17:29) *
1) влияет ли снижение ЧСС до операции на снижение частоты кардиальных осложнений

в какой колонке находится "снижение ЧСС до операции", - колонка 43, ( может надо подсчитать на сколько снизилась от первоначального при поступлении в стационар), и в какой колонке соответственно "частота кардиальных осложнений"?-колонка 14


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

вот график (mosaicplot) показывающий частоту случаев с определенным сочетанием трех переменных --- группа лечения (13), частота осложнений (14), и сгруппированная выше и ниже собственной медианы ЧСС (43).

как видно --- осложнения нарастают от первой группы к третьей, ЧСС также нарастает в данном направлении + дополнительно резко нарастает во второй и третей группе лечения при наличии осложнения любой степени

Код
mosaicplot(table(data[,13], data[,14], cut(data[,43], c(50,70,120))))


с ростом частоты осложнений (от группы лечения 1 к 3) незначительно увеличивается доля 2 го типа доступа (64)

Код
mosaicplot(table(data[,13], data[,14], data[,64]))


Объем операции 63 нарастает.

Код
> summary(data[,63])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  1.000   1.000   1.000   1.453   2.000   4.000
> mosaicplot(table(data[,13], data[,14], data[,63]))


Объем операции 65 падает.

Код
> summary(data[,65])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   85.0   135.0   155.0   166.2   185.0   320.0
> mosaicplot(table(data[,13], data[,14], cut(data[,65], c(80,155,330)) ))


Объем 69.... наверное лучше объединить все случаи осложнений в один уровень, вот так лучше. Видно сразу что ситуация во второй группе и третьей группе типа лечения по отношению к объему 69 зеркальна

Код
> summary(data[,69])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  15.00   35.00   43.00   45.06   50.00  104.00
> mosaicplot(table(data[,13], data[,14]>0, cut(data[,69], c(10,43,110)) ))
>


Объем 72 постояненное соотношение у не осложненных во всех трех группах лечения, но у осложненных доля объема падает и в третей группе достигает уровня неосложненных. Скорее всего это фактор который указывает на возникновения осложнения вследствии каких то причин во время операции.

Код
> summary(data[,72])
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  200.0   400.0   500.0   592.6   700.0  2500.0
> mosaicplot(table(data[,13], data[,14]>0, cut(data[,72], c(100,500,3000)) ))
>


PS добавил первые мозаики с объединенными осложениями
Диана
супер, в мозаичных графиках данные очень наглядно смотрятся, буду их использовать в своей работе smile.gif
p2004r
Цитата(Диана @ 28.08.2012 - 09:02) *
супер, в мозаичных графиках данные очень наглядно смотрятся, буду их использовать в своей работе smile.gif


ну а те зависимости, что видны на "мозаике" можно подтверждать результатами факторного дисперсионного анализа.
Диана
у меня есть данные факторного анализа, но, как сейчас обратила внимание, там нет некоторых переменных, которые использовали при построении мозаичных графиков
p2004r
Цитата(Диана @ 28.08.2012 - 13:46) *
у меня есть данные факторного анализа, но, как сейчас обратила внимание, там нет некоторых переменных, которые использовали при построении мозаичных графиков


В данном случае речь шла о факторном дисперсионном анализе.

Если все переделать в номинальную шкалу, то подойдет multiple correspondence analysis. Если не переделывать, то multivariate analysis with mixed quantitative variables and factors (например dudi.mix из ade4).

но это ж мне каждую переменную смотреть и решать что она такое smile.gif не, не сегодня.
Диана
smile.gif
p2004r
Цитата(Диана @ 28.08.2012 - 21:10) *
smile.gif



взял показатели без пропусков.

1) смотрим чем отличаются (и можно ли различить группы лечения)

Код
tmp <- as.vector(table(factor(data2[,13])));
num_clases <- length(tmp);
min_size <- tmp[order(tmp,decreasing=FALSE)[1]];
vector_for_sampsize.13 <- rep(min_size,num_clases);


rf<-randomForest(data.frame(data2[,c( 65, 69, 72, 43, 3)],
                            factor(data2[,63]),
                            factor(data2[,2]) ,
                            factor(data2[,14]>0)),
                 factor(data2[,13]),
                 sampsize=vector_for_sampsize.13,
                 proximity=TRUE,
                 do.trace=TRUE)

> rf

Call:
randomForest(x = data.frame(data2[, c(65, 69, 72, 43, 3)], factor(data2[,      63]), factor(data2[, 2]), factor(data2[, 14] > 0)), y = factor(data2[,      13]), sampsize = vector_for_sampsize.13, proximity = TRUE,      do.trace = TRUE)
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 2

        OOB estimate of  error rate: 50.53%
Confusion matrix:
   1  2  3 class.error
1 14 10  6   0.5333333
2 13  9  8   0.7000000
3  8  3 24   0.3142857


MDSplot(rf,factor(data2[,13]), pch=as.character(factor(data2[,13])))

varImpPlot(rf)


Отличается только третья группа от первых двух. На графике восстановленных расстояний между случаями видно что группы скорее перетекают 1-2-3. Ведущие переменные разделения групп лечения это ЧСС до., Возраст, Время пережатия аорты1 и слабо Традиц.терапия.

Если осложнения не преобразовывать в два уровня, то картина еще четче становится

Код
rf<-randomForest(data.frame(data2[,c( 65, 69, 72, 43, 3)],
                            factor(data2[,63]),
                            factor(data2[,2]) ,
                            data2[,14]),
                 factor(data2[,13]),
                 sampsize=vector_for_sampsize.13,
                 proximity=TRUE,
                 do.trace=TRUE)

MDSplot(rf,factor(data2[,13]), pch=as.character(factor(data2[,13])))

> rf

Call:
randomForest(x = data.frame(data2[, c(65, 69, 72, 43, 3)], factor(data2[,      63]), factor(data2[, 2]), data2[, 14]), y = factor(data2[,      13]), sampsize = vector_for_sampsize.13, proximity = TRUE,      do.trace = TRUE)
               Type of random forest: classification
                     Number of trees: 500
No. of variables tried at each split: 2

        OOB estimate of  error rate: 45.26%
Confusion matrix:
   1  2  3 class.error
1 17  9  4   0.4333333
2 12 10  8   0.6666667
3  6  4 25   0.2857143


фактически группы две - 1 и 3, вторая размазана между ними.
Диана


фактически группы две - 1 и 3, вторая размазана между ними.
[/quote]

на мой взгляд- на графиках отражена реальная ситуация,и я поняля свою ошибку- вот почему 2 группа размазана- она получала разные препараты из одной группы(вот почему их и объединили)- и у одной части имелось снижение ЧСС от исходных данных, а у других нет. как же я так упустила то.
Диана
cool.gif не могу разобраться с 3 графиком, какой то он сложненький
p2004r
Цитата(Диана @ 1.09.2012 - 22:26) *
cool.gif не могу разобраться с 3 графиком, какой то он сложненький


там тоже что и на первом графике, просто три оси показано от mds. (ну и на нем когда осложнения не как фактор с двумя уровнями, а как степень тяжести).
p2004r
Для новых данных надо заново номера переменных собирать в анализ. А прямая переписка форумная что то более одного сообщения в день считает спамом. smile.gif
p2004r
Цитата(p2004r @ 7.09.2012 - 20:00) *
Для новых данных надо заново номера переменных собирать в анализ. А прямая переписка форумная что то более одного сообщения в день считает спамом. smile.gif


Код
> str(data3[,c(2, 3, 4, 21, 23, 24:38, 45:50, 68,70, 74,77, 92:106, 109:110, 18, 19, 20)])
'data.frame':    95 obs. of  50 variables:
$ пол                   : Factor w/ 2 levels "жен","муж": 2 2 2 2 2 2 2 2 2 1 ...
$ возраст               : int  60 67 62 73 68 69 60 66 72 61 ...
$ ИМТ..кг.м2            : num  29.1 22.1 29.4 26.1 27.6 23.8 33.8 32.3 23 40.6 ...
$ стресс.ЭхоКГ          : int  NA 1 1 1 0 1 0 1 0 0 ...
$ X.1                   : int  NA 22 22 20 16 20 16 20 16 16 ...
$ ИНЛС.ЛЖ               : num  NA 1.38 1.38 1.25 1 ...
$ ГБ                    : int  3 3 3 3 3 3 3 3 3 3 ...
$ ГЛЖ.new               : int  1 1 1 0 0 0 1 1 1 1 ...
$ ГБ.ГЛЖ                : int  1 1 1 0 0 0 1 1 1 1 ...
$ ИБС..стенокардия      : int  2 1 2 2 2 3 2 2 0 2 ...
$ постинф.кардиоскл     : int  1 1 1 1 0 1 1 1 0 0 ...
$ НК..фк                : int  2 2 2 2 2 2 2 2 1 2 ...
$ ДЛП                   : int  0 1 1 1 1 0 1 1 1 1 ...
$ размер.АБА            : int  2 2 1 1 2 3 3 1 3 1 ...
$ синдромность          : int  1 3 3 3 3 1 3 1 3 1 ...
$ прех.ишем.послеопер   : int  1 1 0 0 0 1 1 0 0 1 ...
$ прех.ишем.послеопер.1 : int  1 1 0 0 0 2 1 0 0 1 ...
$ доступ                : int  1 2 1 1 1 2 2 2 1 1 ...
$ курение               : int  0 1 1 1 1 1 1 0 1 0 ...
$ диаст..Дисфункция00   : int  0 0 1 1 1 0 0 0 1 0 ...
$ САД.д.о               : int  140 130 130 120 130 120 120 120 120 120 ...
$ ДАД.д.о               : int  80 80 80 80 80 80 80 80 80 70 ...
$ ЧСС.д.о               : int  72 62 60 64 68 64 68 60 58 56 ...
$ САД.п.о               : int  130 140 120 130 120 85 120 145 140 130 ...
$ ДАД.п.о               : int  80 80 80 80 80 40 70 80 80 80 ...
$ ЧСС.п.о               : int  80 60 78 78 86 72 80 82 80 82 ...
$ операция1             : int  1 1 1 1 1 1 1 1 1 4 ...
$ время.операции1       : int  170 130 120 115 175 215 220 220 110 240 ...
$ время.переж.аорты1    : int  43 41 25 30 55 28 40 53 40 48 ...
$ кровопотеря1          : int  800 500 450 300 350 1200 500 700 200 700 ...
$ ГЛЖ.new.1             : num  5.9 1 1 0 0 0 1 1 1 1 ...
$ зоны.гипо.и.акин00    : num  4.4 1 1 0 0 1 0 0 0 0 ...
$ КДР..см00             : num  174 4.3 5.7 4.4 4.8 4.8 5.2 4 5.2 5.3 ...
$ КСР..см00             : num  85 3.2 3.9 2.5 3.1 3.4 3.6 2.8 3.4 3.2 ...
$ КДО..мл00             : int  88 83 160 88 108 108 130 70 130 135 ...
$ индекс.КДО..00        : num  43 51.9 76.5 45.4 58 58.5 61.8 32.7 75.4 68.5 ...
$ КСО00                 : int  49 41 66 22 38 47 54 30 47 41 ...
$ инд.КСО00             : num  86 25.6 31.5 11.3 20.4 25.4 25.7 14 27.3 20.8 ...
$ ФВ00                  : num  1.4 51 59 75 65 50 58 57 64 60 ...
$ УО00                  : num  1.2 42 94 66 70 61 76 40 83 94 ...
$ ТМЖП00                : num  0.44 1.2 1.2 0.9 1.1 0.9 1.3 1.5 1 1.3 ...
$ ТЗСТ.ЛЖ00             : num  411.5 1.1 1 1 1.1 ...
$ ОТС.ЛЖ                : num  205.8 0.53 0.39 0.43 0.46 ...
$ ММ.ЛЖ.формула.Devereux: num  3.2 202.8 306.6 157.9 228.2 ...
$ ИММ.ЛЖ                : num  5 127 146 79 120 ...
$ d.аорты00             : num  1 3.2 3.5 3.2 3.4 3.8 3.7 3.8 3.6 3.2 ...
$ диаст..Дисфункция00.1 : int  3 0 1 1 1 0 0 0 1 0 ...
$ п.о.кард.осложн       : int  0 0 0 0 0 1 0 0 0 2 ...
$ Кард.осл.я            : int  0 0 0 0 0 1 0 0 0 1 ...
$ летальность           : int  0 0 0 0 0 0 0 0 0 0 ...
> nrow(na.omit(data3[,c(2, 3, 4, 21, 23, 24:38, 45:50, 68,70, 74,77, 92:106, 109:110, 18, 19, 20)]))
[1] 79
> nrow((data3[,c(2, 3, 4, 21, 23, 24:38, 45:50, 68,70, 74,77, 92:106, 109:110, 18, 19, 20)]))
[1] 95


что из перечисленного точно в шкале наименований измерено?
Диана
ГБ : int 3 3 3 3 3 3 3 3 3 3 ...
$ ГЛЖ.new : int 1 1 1 0 0 0 1 1 1 1 ...
$ ГБ.ГЛЖ : int 1 1 1 0 0 0 1 1 1 1 ...
$ ИБС..стенокардия : int 2 1 2 2 2 3 2 2 0 2 ...
$ постинф.кардиоскл : int 1 1 1 1 0 1 1 1 0 0 ...
$ НК..фк : int 2 2 2 2 2 2 2 2 1 2 ...
$ ДЛП : int 0 1 1 1 1 0 1 1 1 1 ...
$ размер.АБА : int 2 2 1 1 2 3 3 1 3 1 ...
$ синдромность : int 1 3 3 3 3 1 3 1 3 1 ...
$ прех.ишем.послеопер : int 1 1 0 0 0 1 1 0 0 1 ...
$ прех.ишем.послеопер.1 : int 1 1 0 0 0 2 1 0 0 1 ...
$ доступ : int 1 2 1 1 1 2 2 2 1 1 ...
$ курение : int 0 1 1 1 1 1 1 0 1 0 ...
$ диаст..Дисфункция00 : int 0 0 1 1 1 0 0 0 1 0 ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.