Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >

Olga_
Отправлено: 9.11.2012 - 00:32





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


У меня time series data с нерегулярными интервалами времени. Я хочу организовать мои данные таким образом, чтобы каждый пациент имел 1 измерение в неделю, в среднем у каждого пациента было 52 измерения, то есть каждую неделю в течении года. Поэтому встречаюся повторные измерения в один и тот же день (исследовали сразу несколько пациентов).
id stday week
1 28apr1999 1
1 07may1999 2
1 14may1999 3
1 21may1999 4
1 27may1999 5
1 04jun1999 6
1 11jun1999 7
1 18jun1999 8
1 25jun1999 9
1 02jul1999 10
1 09jul1999 11
1 16jul1999 12
1 23jul1999 13
1 30jul1999 14
1 06aug1999 15

Конечные данные должны выглыдеть так
id week day
1 1 25.04.99
1 2 02.05.99
1 3 09.05.99
1 4 16.05.99
1 5 23.05.99
1 6 30.05.99
1 7 06.06.99
1 8 13.06.99
1 9 20.06.99
1 10 27.06.99
1 11 04.07.99
1 12 11.07.99
1 12 11.07.99
2 12 11.07.99
6 12 11.07.99
9 12 11.07.99
Здесь каждый пациент имел и измерение каждое воскресение, данные были организованы в matlab, которого у меня на данный момент нет, да и как работать в матлабе имею смутное представление..

na.approx функция для пропущенных значений.



  Форум: Медицинская статистика · Просмотр сообщения: #14382 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 8.11.2012 - 22:30





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Временной ряд уже создан, это все те же данные
FID stday week
1 28apr1999 1
1 07may1999 2
1 14may1999 3
1 21may1999 4
1 27may1999 5
1 04jun1999 6
1 11jun1999 7
1 18jun1999 8
1 25jun1999 9
1 02jul1999 10
1 09jul1999 11
1 16jul1999 12
1 23jul1999 13
1 30jul1999 14
1 06aug1999 15
1 13aug1999 16
1 20aug1999 17
1 27aug1999 18
1 03sep1999 19
1 10sep1999 20
1 17sep1999 21
> summary(data$stday)
Min. 1st Qu. Median Mean 3rd Qu. Max.
"1999-04-28" "2003-08-26" "2005-12-20" "2006-02-11" "2009-01-13" "2012-02-23"

> y<-zooreg(seq(1,,length=676),as.Date(data$stday,format="%Y-%m-%d"),start=as.Date("1999-04-28"),end=as.Date("2012-02-23"),freq=1,deltat=7)

> y[500:505]
2008-11-19 2008-11-26 2008-12-03 2008-12-10 2008-12-17 2008-12-24
500 501 502 503 504 505


Или же другой вариант
y0<-zoo(seq(1,,length=676),as.Date(data$stday,format="%Y-%m-%d"))
Warning message:
In zoo(rval[i], index(x)[i]) :
some methods for ?zoo? objects do not work if the index entries in ?order.by? are not unique

> y0[500:505]
2000-02-21 2000-02-21 2000-02-21 2000-02-21 2000-02-21 2000-02-21
194 298 503 557 606 185

> data$stday[500:505]
[1] "2000-01-31" "2000-02-07" "2000-02-14" "2000-02-21" "2000-02-28"
[6] "2000-03-06"


Результаты мне кажутся сомнительными... Не понимаю, как решить эту задачку и есть ли решение в R.
  Форум: Медицинская статистика · Просмотр сообщения: #14379 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 7.11.2012 - 22:10





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Спасибо, я уже сама нашла и создала искусственные промежутки времени, но только как разместить мои реальные даты пока еще не могу понять.
  Форум: Медицинская статистика · Просмотр сообщения: #14370 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 6.11.2012 - 18:08





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Решили оставить вариант с уровнем полютантов за предыдущие 7 дней.


Хотела бы использовать также для анализа время, в моем исследовании это 1 неделя. Но как было отмечено выше, время Исследований имеет неодинаковый промежуток.

1. Сначала, хотела бы создать одинаковые промежутки времени- недели начиная, к примеру с 01.01.1999. Какой это пакет в R? Где то кто то уже рекомендовал этот пакет, но не могу вспомнить

2. Затем интерполировать реальные даты в искусственные промежутки времени.

С помощью какого пакета/пакетов R можно это выполнить?

Спасибо заранее.
  Форум: Медицинская статистика · Просмотр сообщения: #14366 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 11.09.2012 - 11:50





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Что то у меня не получается..

Мой код

airpollution <- read.table("...Payerne.csv",blank.lines.skip = TRUE,fill=T,header=T,sep=";")
summary(airpollution)
day <- paste(airpollution[,3],"-",airpollution[,2],"-",airpollution[,1],sep="")
day <- as.Date(day, format="%Y-%m-%d")
payerne <- cbind(airpollution,day)

tmp<-sapply(1:10, function(i) avgtemp=runmean(payerne$temp, i+3, alg= "exact", endrule="mean", align = "right") )

data<- read.dta("...symptoms.dta")

data$stday<-as.Date(data$stday, "%d%b%Y")
head(diff(data$stday))
sapply(2:nrow(data), function(i) if(data[i,1]==data[i-1,1]) tmp[ data$stday[i]==payerne$day , diff(data$stday)[i+1] ] else NA )
Error in FUN(2:20426[[177L]], ...) : subscript out of bounds
  Форум: Медицинская статистика · Просмотр сообщения: #14153 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 30.08.2012 - 21:16





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 30.08.2012 - 18:50) *
ну так почему бы и не выкладывать именно рабочий файл, раз уж Вы время привели к вменяемому формату?

ну тогда уж продолжу прошлый "алгоритм":

1) получаем массив средних за 3-14 последних дней на текущую дату (колонку даты возьмете свою smile.gif

Код
tmp<-sapply(1:10, function(i) avgtemp=runmean(temp.time$temp, i+3, alg= "exact", endrule="mean", align =  "right") )


2) разницу между текущим обследованием и предыдущим получаем

Код
>  data<-read.table("data.txt", header=TRUE)
>  data$stday<-as.Date(data$stday, "%d%b%Y")
> head(data)
  FID      stday woche
1   1 1999-04-28     1
2   1 1999-05-07     2
3   1 1999-05-14     3
4   1 1999-05-21     4
5   1 1999-05-27     5
6   1 1999-06-04     6
> head(diff(data$stday))
Time differences in days
[1] 9 7 7 6 8 7


Эти данные имеют на один день меньше, и их надо дополнить NA вначале если присоединять в data.

3) Берем из diff(data$stday)[i+1] где i номер строки из data имеющий смысл и получаем номер столбца скользящей средней температуры: tmp[,diff(data$stday)[i+1]]

4) Теперь вставляем выборку даты data$stday[i]==temp$day, получаем итоговую конструкцию

tmp[ data$stday[i]==temp$day , diff(data$stday)[i+1] ]

которая по i тому номеру строки из первой таблицы возвращает среднюю температуру за предыдущий период

5) осмысленные строки -- по красивому надо написать агрегирующую функцию в plyr smile.gif но можно и проще
Код
sapply(2:nrow(data), function(i) if(data[i,1]==data[i-1,1]) tmp[ data$stday[i]==temp$day , diff(data$stday)[i+1] ] else NA )



Огромное спасибо!


То что я хотела, но никак не могла выразить из-за недостатка знаний в R. Вы, конечно, правы, нужно сначала читать, а потом еще перечитывать.
Мне кажется, что вы меня уже не в первый раз выручаете. Как то регестрировалась я на одном форуме биологов н- ное время назад...

Вчера файлы никак загружались, выложила, те файлы, которые удалось загрузить.




  Форум: Медицинская статистика · Просмотр сообщения: #14080 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 30.08.2012 - 16:10





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 30.08.2012 - 14:37) *
Ольга, Вам не кажется что эти данные немного отличаются от первоначальных? Вы не ошиблись с файлом?


Код
day     month   year    temp    temp_min        temp_max                                                                
1       1       1998    1.15                                                                            
2       1       1998    6.64                                                                            
3       1       1998    6.01                                                                            
4       1       1998    6.16                                                                            
5       1       1998    7.55                                                                            
6       1       1998    6.36                                                                            
7       1       1998    8.13                                                                            
8       1       1998    7.66                                                                            
9       1       1998    2.42


Нет, сначала , как пример, я привела модифицированные данные, где я обьединила в одну коллонку время исследования.
  Форум: Медицинская статистика · Просмотр сообщения: #14077 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 30.08.2012 - 12:02





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 30.08.2012 - 09:44) *
Данные это хорошо. Но:

1) Что значит "менее-более семи дней"?! Вы в первом сообщении написали а) что у Вас база данных температуры именно за _каждый_ день, б) что для каждого инциндента из таблицы случаев надо получить среднюю температуру за предыдущие 7 дней.

2) Объясните структуру своего эксперимента. Типа: "Для каждой строки из таблицы такой то получить то то и то то...". Ну или просто раскажите что надо получитью Иначе мне не понятно как надо группировать данные, и я не смогу Вам помочь.

3) Привет коллегам, они хорошие "программисты на фортране" smile.gif В 95% случаев анализа данных в R for() не нужен (а следовательно , по заветам медицинской статистики не существует smile.gif, именно для этого R и разрабатывали собственно --- что бы избежать низкоуровневого программирования.

Используя базу данных температуры за каждый день. (файл temp.txt ) нужно рассчитать среднюю температуру для каждого участника исследования (data.txt) за период с момента предыдущего наблюдения до следующего. Обычно разница между наблюдениями составляет 7 дней, но может быть и больше, например, для 1 пациента период между первым наблюдением и вторым
stday
28apr1999
07may1999
Конечно, такие случаи встречаются редко и их можно просто игнорировать, используя предложенную вами методику рассчета (средняя температура за предыдущие 7 дней).
Для первого измерения всегда нужна средняя температура за предыдущие 7 дней.

Одна из целей исследования - оценить влияние факторов окружающей среды (темп., РМ10, О3 и т.д.) на частоту респираторных симптомов в течении 1 года.

  Форум: Медицинская статистика · Просмотр сообщения: #14074 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 29.08.2012 - 21:17





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


---
  Форум: Медицинская статистика · Просмотр сообщения: #14069 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 29.08.2012 - 21:17





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 29.08.2012 - 19:57) *
1) на таких коротких данных я выбрал усреднение по 3 дням (или меньше за счет выбранного алгоритма) чтобы хоть что то работало для отладки.

Программа работает просто --- для всех дней справочника температуры рассчитывается среднее за предыдущие 7 дней (у меня для отладки на Ваших лапидарных примерах таблиц -- за 3 дня).

После этого Вы просто запрашиваете последней строкой из справочника среднюю температуру для даты инцидента.

Скажите куда Вам это среднее надо подставить? И приведите более длинные куски данных. Иначе мне непонятно чем Вас не устраивает предложенное мной решение.

2) Ну что могу сказать, как говорится --- " Хороший программист на фортране, на любом языке напишет программу на фортране" smile.gif. По поводу указанной строчки кода -- это какая то невозможная конструкция

Я не использую циклов в R, и Вам не советую. В R все делается через *apply() операторы. Для использование for() нужна крайне исключительная причина.

Прочитайте пожалуйста руководство "Введение в R" (или на английском, или на русском со страницы перевода http://m7876.wiki.zoho.com/Introduction-to-R.html , а то у меня какое то чувство что я его зря переводил)


Проблема в том, что это в среднем нужно рассчитать температуру за предыдущие семь дней, но это не всегда так. Есть периоды более 7 дней и менее 7 дней. Только для первого измерения всегда нужна средняя температура за предыдущие 7 дней. Меня то как раз рассчитать среднее за 7 дней очень устраивает:)

Я не программист и в R только начала работать. Мои коллеги рекомендовали использовать for для того, чтобы рассчитать среднее...
Почему вы пишите, что для for нужна крайне исключительная причина?

Данные сейчас загружу
  Форум: Медицинская статистика · Просмотр сообщения: #14068 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 29.08.2012 - 18:43





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Спасибо!

У меня вопрос, почему к(width of moving window)=3?
Не совсем поняла, как работает предложенный вами метод..


Я думала, что нужно написать loop для решения этой задачи. Но мои попытки не дали желаемого результата..
airpollution <- read.table("C:.../Pay.csv",blank.lines.skip = TRUE,fill=T,header=T,sep=";")
summary(airpollution)
dat <- paste(airpollution[,3],"-",airpollution[,2],"-",airpollution[,1],sep="")
dat <- as.Date(dat, format="%Y-%m-%d")
pay <- cbind(airpollution,dat)



x <- read.dta("C:/.../symptoms.dta")

x$stday <- as.Date(x$stday, origin="1960-01-01",format="%Y-%m-%d")
temp<- rep(NA, length(x$FID))
index <- 1:length(pay$dat)
pm10<- rep(NA, length(x$FID))


for (i in 1:length(x$FID)) {
start <- x$stday[i]==pay$dat
s <- index[start]
end <- x$stday[i]+1==pay$dat
e <- index[end]
pm10[i] <- mean(pay$pm10[s:e],na.rm = T)
paytemp[i] <- mean(pay$temp[s:e],na.rm = T)

}

Не уверена насчет этой части
end <- x$stday[i]+1==pay$dat

+1 это значит, что следующая строка, или я ошибаюсь?
  Форум: Медицинская статистика · Просмотр сообщения: #14065 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 29.08.2012 - 12:02





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Добрый день.

Помогите, пожалуйста, написать алгоритм для R.
У меня две базы данных, одна из них включает номер пациента, дату каждого измерения (как правило, измерение проводилось в среднем каждуjу неделю в течении 1 года ) и номер недели (1,2,3...54), вторая база включает информацию о ежедневной температуре воздуха.

Задача: нужно посчитать среднюю температуру, предшествующую каждому измерению. Например, для первой недели нужно рассчитать среднюю темп за 7 дней до измерения (28apr1999-7дней), для второй недели за период 28apr1999-07may1999 и т.д.
FID studydate week
1 28apr1999 1
1 07may1999 2
1 14may1999 3
1 21may1999 4


Second dataset
temp date
5.37 1999-04-20
2.13 1999-04-21
1.6 1999-04-22
-0.17 1999-04-23
2.53 1999-04-24


Спасибо!
  Форум: Медицинская статистика · Просмотр сообщения: #14063 · Ответов: 21 · Просмотров: 21498

Olga_
Отправлено: 6.03.2012 - 21:24





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 6.03.2012 - 17:05) *
Ну в R с константами все в порядке smile.gif


В СТАТе тоже все в порядке с константами, Татьяна только почему то забыла скопировать полностью результат laugh.gif

mlogit brand female age, base(1)

Iteration 0: log likelihood = -795.89581
Iteration 1: log likelihood = -709.10396
Iteration 2: log likelihood = -703.08391
Iteration 3: log likelihood = -702.97081
Iteration 4: log likelihood = -702.9707

Multinomial logistic regression Number of obs = 735
LR chi2(4) = 185.85
Prob > chi2 = 0.0000
Log likelihood = -702.9707 Pseudo R2 = 0.1168

------------------------------------------------------------------------------
brand | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
2 |
female | .5238143 .1942466 2.70 0.007 .143098 .9045307
age | .3682065 .0550031 6.69 0.000 .2604024 .4760106
_cons | -11.77466 1.77461 -6.64 0.000 -15.25283 -8.296483
-------------+----------------------------------------------------------------
3 |
female | .4659414 .2260895 2.06 0.039 .022814 .9090688
age | .6859082 .0626265 10.95 0.000 .5631626 .8086539
_cons | -22.7214 2.058027 -11.04 0.000 -26.75505 -18.68774
------------------------------------------------------------------------------
(brand==1 is the base outcome)

http://www.ats.ucla.edu/stat/stata/dae/mlogit.htm
  Форум: Медицинская статистика · Просмотр сообщения: #13125 · Ответов: 13 · Просмотров: 16785

Olga_
Отправлено: 5.03.2012 - 23:09





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Larina Tatjana @ 3.03.2012 - 12:54) *
Привет! У меня тоже была масса вопросов по логистической регрессии, пока не прочитала статью "Логистическая регрессия в медицине и биологии"
(http://www.biometrica.tomsk.ru/logit_1.htm). Потом вышла на автора, с его помощью получила уникальные результаты по своим данным. Но самое главное, я поняла, что для осмысления самого уравнения регрессии нужны и результаты по многим другим методам. Только тогда начинаешь понимать и структуру уравнения, и то, как его можно использовать на практике. И ещё. Я поняла, что реально детальный анализ по этому методу ни в SPSS (у меня 20-я версия), ни в STATISTICA (у меня 10 версия) не сделать.

Татьяна.



Поделитесь, пожалуйста, информацией, а где же можно сделать детальный анализ?

И поясните также, пожалуйста, почему нельзя сделать "детальный анализ", например, в СТАТА.
  Форум: Медицинская статистика · Просмотр сообщения: #13109 · Ответов: 13 · Просмотров: 16785

Olga_
Отправлено: 1.03.2012 - 23:41





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Ras @ 1.03.2012 - 21:26) *
Как я понимаю, сравнивать таким образом группы нельзя. Т.о. я смогу сравнить только всех пациентов и в зависимости от локализации... А в группах с дополнительными обследованиями которые не были проведены в контрольной группе я смогу показать частоту того или иного фактора риска, но не смогу посчитать риск (могу только сравнить с литературными данными).


Да.

Цитата(Ras @ 1.03.2012 - 21:26) *
Это означает, что я даже косвенно не могу подобраться к более-менее независимому риску?

Что подрузамеваете под независимым риском?

Цитата(Ras @ 1.03.2012 - 21:26) *
В плане комбинаций полиморфизмов попробовал MDR с более дружелюбным интерфейсом чем R и доступным tutorial http://www.multifactordimensionalityreduction.org/
Однако, даже почитав несколько статей по методу никак не могу понять вот что... требует ли этот метод одинаковых по численности групп case и control. Есть подозрение, что все же требует...

Спасибо

Ничего не могу посоетовать относительно MDR, я работаю в PLINK (см. пост3).
  Форум: Медицинская статистика · Просмотр сообщения: #13063 · Ответов: 13 · Просмотров: 15329

Olga_
Отправлено: 1.03.2012 - 21:37





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Ras @ 1.03.2012 - 19:31) *
Поэтому я и выделяю эти группы... На самом деле такой алгоритм был подсмотрен в зарубежных источниках - они обследуют к примеру 100 здоровых лиц только на генетику а в группе случаев (тромбозы) удаляют пациентов с доказанными (помимо генетики конечно) факторами риска.


Дайте ссылку на статью
  Форум: Медицинская статистика · Просмотр сообщения: #13058 · Ответов: 13 · Просмотров: 15329

Olga_
Отправлено: 1.03.2012 - 21:13





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Ras @ 29.02.2012 - 20:59) *
На самом деле группа одна - 128 человек, в ней все дети развившие тромбоз той или иной локализации в возрасте 0-18 лет
из нее выделены лица без дефицита естественных антикоагулянтов
из нее выделены лица без других факторов риска


В первом посту вы написали, что контрольная группа- здоровые лица в возрасте 16-30 лет (54 чел).


Цитата(Ras @ 29.02.2012 - 20:59) *
Наверное я неправильно излагаю:
Получается что я сравниваю генетику
-у пациентов вне зависимости от локализации тромбоза и вне зависимости от факторов риска (в т.ч. естественных антикоагулянтов) по равнению с контролем,
-у пациентов вне зависимости от локализации тромбоза без дефицита естественных антикоагулянтов с контролем
-у пациентов вне зависимости от локализации тромбоза и без доказанных факторов риска с контролем.
- у пациентов развивших венозных эпизод вне зависимости от факторов риска (в т.ч. естественных антикоагулянтов) по равнению с контролем,
- у пациентов развивших венозных эпизод без дефицита естественных антикоагулянтов с контролем
-у пациентов развивших венозных эпизод и без доказанных факторов риска с контролем.
тоже проделывается с ишемическими инсультами.
Т.о, как я считаю, в каждой группе я могу показать есть ли различия в генетике по сравнению со здоровыми лицами и посчитать OR

Здесь вы пишите, что будете сравнивать с контрольной группой.
А ниже пишите, что у группы контроля нет данных обследования. Нелогично получается.
Цитата(Ras @ 29.02.2012 - 20:59) *
Я создал эти группы потому что у группы контроля нет данных обследования. Выглядит натянуто, но как мне кажется, это единственный способ более-менее подойти к независимому риску....
Другой вопрос, что в некоторых конечных подгруппах подобных тем что приведена выше количество пациентов менее 5...

Если хотя бы одна ожидаемая величина меньше 5, то используется тест Фишера.



  Форум: Медицинская статистика · Просмотр сообщения: #13055 · Ответов: 13 · Просмотров: 15329

Olga_
Отправлено: 29.02.2012 - 21:26





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Ras @ 29.02.2012 - 04:14) *
Пациенты дети с тромбозом различной локализации (128 чел). Обследованы на 10 полиморфизмов, множественные лабораторные, клинические, анамнестические данные, однако много пропусков.
Контроль - здоровые лица в возрасте 16-30 лет (54 чел). Обследованы на 8 SNP + анамнестические данные (полный охват) других данных нет

128 Пациентов были разделены на группы и подгруппы
1. ВСЕ тромбозы

1.1. Вне зависимости от факторов риска (т.е. 128 человек)
1.2 Пациенты без дефицита естественных антикоагулянтов (доказанный фактор риска) (97 человек). Данная группа выделена тк контроль не обследован на данные факторы, а значит сравнить я их не смогу. Т.о. я подозреваю что у контроля нет дефицита (близко к правде по данным литературы)
1.3 Пациенты без других доказанных факторов риска - выделены для того чтобы показать независимое влияние SNP

В каждой подгруппе выделено:

1.1.1 Пол (м/ж)
1.1.2. Возраст (до года/после года)
1.1.3. Возраст-пол (м до года/ м старше года и д до года/д старше года

2. Ишемический инсульт (та же иерархия)
3. Тромбоз глубоких вен (та же иерархия)


Во первых, не понимаю сколько у вас подгрупп в группе пациентов с тромбозами, 2 или 3. Меня смутил пункт 1.1.
Во вторых, если контрольная группа не обследована на антикоагулянты, то зачем создавать такую подгруппу в группе с тромбозами? Сравнивать от будет не с чем... Просто напишите об ограничениях исследования в диссертации.
  Форум: Медицинская статистика · Просмотр сообщения: #13049 · Ответов: 13 · Просмотров: 15329

Olga_
Отправлено: 29.02.2012 - 20:03





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Ras @ 29.02.2012 - 04:14) *
Мой вопрос: идти ли мне дальше тем же путем или можно сделать все по-другому?
Как показать влияние аллельных комбинаций (неужели придется все делать вручную)?

Буду признателен если Ваш ответ будет на доступном обывателю языке

Заранее благодарен


Ничего "вручную" делать не нужно.

Относительно простая статистическая программа для анализа генетических данных с хорошими и понятным руководством к использованию - это ПЛИНК

http://pngu.mgh.harvard.edu/~purcell/plink/tutorial.shtml

Программа бесплатная.

Очень полезные протоколы, хотя и для genome-wide association study но есть информация candidate-gene study
http://www.nature.com/nprot/journal/v6/n2/...t.2010.182.html
http://www.nature.com/nprot/journal/v5/n9/...t.2010.116.html

В данный момент у меня 2 candidate-gene studies. Для анализа будет использоваться ПЛИНК и СТАТА. Если надумаете работать в ПЛИНК, то могу помочь.
ПиСи Что такое СШ?
  Форум: Медицинская статистика · Просмотр сообщения: #13046 · Ответов: 13 · Просмотров: 15329

Olga_
Отправлено: 13.02.2012 - 14:54





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(_alena_ @ 13.02.2012 - 07:18) *
мне сказали что если правильно закодировать данные то не важно межгенные там взаимодействия или какие то другие


Странный совет вам дали. 0, 1, 2 обычно кодируется генотип (АА, Аа, аа).
Используйте обычные статистические пакеты, т.к. не понимая ни основ статистики, ни генетического анализа, вы не сможете правильно закодировать данные и посчитать результат.
  Форум: Медицинская статистика · Просмотр сообщения: #12943 · Ответов: 64 · Просмотров: 99941

Olga_
Отправлено: 11.02.2012 - 23:48





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(_alena_ @ 11.02.2012 - 17:45) *
всем привет. буду благодарна за подсказки! скажите в МDR как кодируются данные? я смотрела пример там 0,1,2 когда я попыталась ввести скажем еще 3 то уже не работало... и что кодируется нулем что 1 и 2? я о том что к примеру если да то 1, если нет то 0?


Если вы НЕ анализируете межгенные взаимодействия или же взаимодействие ген-окружающая среда, то зачем вам нужно использовать метод MDR??
MDR разрабатывался для анализа генетических данных.
  Форум: Медицинская статистика · Просмотр сообщения: #12928 · Ответов: 64 · Просмотров: 99941

Olga_
Отправлено: 9.01.2012 - 14:05





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Уважаемый nokh,

Тест Краскелла-Уоллиса предназначен для сравнения независимых выборок. А у топикстартера зависимые выборки, и игнорирование этого факта уже ошибка.
  Форум: Медицинская статистика · Просмотр сообщения: #12746 · Ответов: 55 · Просмотров: 77719

Olga_
Отправлено: 8.01.2012 - 16:30





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(p2004r @ 8.01.2012 - 10:43) *
Я иногда заглядывал в википедию (на редкость вменяемое описание статмоделирования касающегося DA)
http://en.wikipedia.org/wiki/Analysis_of_v...ptions_of_ANOVA

1) требуется именно нормальность _остатков_ (the distributions of the residuals are normal.) что крайне логично.

2) вот остальные требования куда более существенны, это "Randomization-based analysis". в случае наблюдениея -- "In practice, the estimates of treatment-effects from observational studies generally are often inconsistent. In practice, "statistical models" and observational data are useful for suggesting hypotheses that should be treated very cautiously by the public."

Главное в обсуждаемом наблюдении, то что из логики последующие результаты явно зависимы от предыдущих. И надо анализировать данные а не считать в слепую модели. Никакого эксперимента управляемого в случае наблюдения нет, а значит нет и структуры модели параметры которой надо определить.


Я обычно читаю лекции по биостатистике, рекомендованные книги и статьи. wink.gif

Из той же вики
Assumptions to use two-way anova

Just like other parametric test, we make the following assumptions when using two-way ANOVA:

?The populations from which the samples are obtained must be normally distributed.

?Sampling is done correctly. Observations for within and between groups must be independent.

?The variances among populations must be equal (homogeneity).

?Data are interval or nominal

или же
The results of a one-way ANOVA can be considered reliable as long as the following assumptions are met:
Response variable must be normally distributed (or approximately normally distributed).
Samples are independent.
Variances of populations are equal.
Responses for a given group are independent and identically distributed normal random variables (not a simple random sample (SRS)).

ANOVA is a relatively robust procedure with respect to violations of the normality assumption[3]. If data are ordinal, a non-parametric alternative to this test should be used such as Kruskal-Wallis one-way analysis of variance.

Будем продолжать дальше цитировать вики...

То что данные зависимые это уже давно обсуждается в ходе нашей дискуссии.

А здесь я вас вообще не понимаю))
"И надо анализировать данные а не считать в слепую модели. Никакого эксперимента управляемого в случае наблюдения нет, а значит нет и структуры модели параметры которой надо определить. "
  Форум: Медицинская статистика · Просмотр сообщения: #12739 · Ответов: 55 · Просмотров: 77719

Olga_
Отправлено: 8.01.2012 - 01:30





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(Olga_ @ 7.01.2012 - 20:05) *
eek.gif

В книгах по статистике всегда написано, что Two-way anova, like all anovas, assumes that the observations are normally distributed and have equal variances.


Проводили ли вы лог трансформацию данных для анализа в АНОВА? Если нет, то сравнение некорректно.
Про шкалы прочитайте, пожалуйста, самостоятельно (см. пост34)

В опубликованных КИ очень кратко описан алгоритм статистического анализа, поэтому, чтобы понять почему был использован тот или иной метод,нужно быть уже подготовленным пользователем. Читайте книги, просматривайте референтов в статье и, конечно, гугл всегда поможет))

Я бы порекомендовал вам прочитать следующую книгу
http://books.google.ch/books?id=LEDJ-6bPa8...hoc&f=false

Просмотрите Statistical Principles for Clinical Trials, здесь информация в основном общая информация
http://www.emea.europa.eu/docs/en_GB/docum...WC500002928.pdf

П.С. Since version 18 SPSS provides comparable post-hoc tests by default. Найдите 18 версию)
http://timo.gnambs.at/en/scripts/friedmanposthoc
  Форум: Медицинская статистика · Просмотр сообщения: #12731 · Ответов: 55 · Просмотров: 77719

Olga_
Отправлено: 7.01.2012 - 22:05





Группа: Пользователи
Сообщений: 43
Регистрация: 4.01.2012
Пользователь №: 23400


Цитата(nokh @ 7.01.2012 - 19:17) *
Распространённых непараметрических аналогов двухфакторному ДА с повторными измерениями нет. Фридман или Квейд всё огрубят, кроме того в пакетах почти не встречается тестов для ранговых апостериорных сравнений: Коновера-Инмана, Стила-Двасса, Немени (более известного как тест Шайха-Хамерли). Я бы всё же считал ДА. К тому же выборки не нужно проверять на нормальность: ДА требует, чтобы нормально была распределена ошибка анализа, а как это прикинуть в вашем случае я уже писал.
eek.gif

В книгах по статистике всегда написано, что Two-way anova, like all anovas, assumes that the observations are normally distributed and have equal variances.



  Форум: Медицинская статистика · Просмотр сообщения: #12729 · Ответов: 55 · Просмотров: 77719

2 страниц V   1 2 >

Открытая тема (есть новые ответы)  Открытая тема (есть новые ответы)
Открытая тема (нет новых ответов)  Открытая тема (нет новых ответов)
Горячая тема (есть новые ответы)  Горячая тема (есть новые ответы)
Горячая тема (нет новых ответов)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Закрытая тема  Закрытая тема
Тема перемещена  Тема перемещена