Рандомизация в программе Statistica |
Здравствуйте, гость ( Вход | Регистрация )
Рандомизация в программе Statistica |
11.02.2018 - 14:41
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 5 Регистрация: 10.02.2018 Пользователь №: 30973 |
Добрый день всем участникам форума! Буду очень благодарна, если кто-нибудь поможет мне с решением типовой практической задачи. Имеется выборка из 24 пациентов. Она будет разделена на 2 группы по 12 человек. 12 человек из первой группы в первом периоде исследования будут получать лекарственное средство T, во втором периоде - лекарственное средство R. 12 человек из второй группы в первом периоде исследования будут получать лекарственное средство R, во втором периоде - лекарственное средство T. Мне необходимо с использованием программы Statistica (у меня стоит пробная версия 13) случайным образом распределить 24 человека на 2 группы по 12 (последовательности лечения TR и RT). Подскажите, пожалуйста, как это делается.
|
|
11.02.2018 - 16:02
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
У меня есть заготовка с ответом из выходящего в этом году Лабораторного практикума по биостатистике, но только в Excel - прикрепил. Если нужно сделать именно в Statistica - по аналогии самостоятельно. Там функция генератора случайных чисел - Rnd(). Чтобы веселее работалось - замечательная песня в стиле сайкобилли: Matchless - Randomly Generated Numbers ( https://www.youtube.com/watch?v=Z1tz91d6rZc ).
Прикрепленные файлы
|
|
11.02.2018 - 16:21
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 5 Регистрация: 10.02.2018 Пользователь №: 30973 |
У меня есть заготовка с ответом из выходящего в этом году Лабораторного практикума по биостатистике, но только в Excel - прикрепил. Если нужно сделать именно в Statistica - по аналогии самостоятельно. Там функция генератора случайных чисел - Rnd(). Чтобы веселее работалось - замечательная песня в стиле сайкобилли: Matchless - Randomly Generated Numbers ( https://www.youtube.com/watch?v=Z1tz91d6rZc ). Добрый день! Спасибо за быстрый ответ. Посмотрела Ваш прикрепленный файл. По прежнему не получается сделать то, что нужно. Во-первых, не срабатывает функция Rnd(). Ы ячейке так и остается название функции, а никакое новой число не появляется. Во-вторых, после выделения двух столбцов не нахожу "Сортировка и фильтр" и т.д. Пожалуйста, дайте мне еще подсказку! Очень нужно! |
|
11.02.2018 - 16:34
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Добрый день всем участникам форума! Буду очень благодарна, если кто-нибудь поможет мне с решением типовой практической задачи. Имеется выборка из 24 пациентов. Она будет разделена на 2 группы по 12 человек. 12 человек из первой группы в первом периоде исследования будут получать лекарственное средство T, во втором периоде - лекарственное средство R. 12 человек из второй группы в первом периоде исследования будут получать лекарственное средство R, во втором периоде - лекарственное средство T. Мне необходимо с использованием программы Statistica (у меня стоит пробная версия 13) случайным образом распределить 24 человека на 2 группы по 12 (последовательности лечения TR и RT). Подскажите, пожалуйста, как это делается. Все нечетные индексы - первая группа, все четные - вторая. Et vice versa. |
|
11.02.2018 - 22:06
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 127 Регистрация: 15.12.2015 Пользователь №: 27760 |
Все нечетные индексы - первая группа, все четные - вторая. Et vice versa. Это не рандомизация. Лучше всего использовать https://cran.r-project.org/web/packages/blockrand/index.html |
|
12.02.2018 - 00:08
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Это не рандомизация. Лучше всего использовать https://cran.r-project.org/web/packages/blockrand/index.html Ну, поскольку предварительное упорядочивание единиц ген. совокупности (24 шт.) не проводится, начала отсчета устанавливается в случайном порядке, и объемы выборок равны, то можно предполагать, что систематическая компонента ошибки выборки отсутствует. Именно поэтому при механическом отборе ошибка выборки - та же, что и при собственно случайном отборе. Кроме того, если производить разбрасывание пациентов по выборкам в Экселе по вышеозвученным рецептам ( а-ля =СЛУЧМЕЖДУ(1;24)), то устанешь бороться с задвоениями индексов. И по схеме "Данные" ->"Анализ данных" ->"Выборка" - та же беда. |
|
12.02.2018 - 01:19
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 1325 Регистрация: 27.11.2007 Пользователь №: 4573 |
Вряд ли рандомизация 24 больных может гарантировать однородность групп из 12 пациентов по всем признакам, которые могут влиять на результат клинического исследования.
В программе Statistica тоже есть функция random sampling, data/random sampling а также https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3942596/ Сообщение отредактировал DrgLena - 12.02.2018 - 01:44 |
|
12.02.2018 - 04:44
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
...По прежнему не получается сделать то, что нужно. Во-первых, не срабатывает функция Rnd(). Ы ячейке так и остается название функции, а никакое новой число не появляется. Во-вторых, после выделения двух столбцов не нахожу "Сортировка и фильтр" и т.д. Пожалуйста, дайте мне еще подсказку! Очень нужно! Ну так "по аналогии" не означает "в точности так же". Согласно первому попавшемуся толковому словарю Ефремовой, аналогично - это "основываясь на сходстве с кем-л., чем-либо, по образцу кого-л., чего-л., согласно какой-л. формуле, схеме". Схема-то та же: (1) первый столбец - числа от 1 до n, (2) во втором - случайные числа, (3) сортировка массива по второму столбцу, (4) назначение нужного количества первых номеров в первую группу. Про функцию Rnd() нужно было прочитать и догадаться написать хотя бы Rnd(1) чтобы было как в Экселе (хотя выбор числа не принципиален), а сортировку провести в Data - Sort или где она там находится в 13-ой версии (читайте инструкцию к пакету). За желание и попытку провести рандомизацию ставлю вам 5, за несамостоятельность и несообразительность - 2, в среднем пока 3,5 - округлим по результату. Остальные работы ещё не проверял:) |
|
12.02.2018 - 15:07
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 1325 Регистрация: 27.11.2007 Пользователь №: 4573 |
Задвоение таки да, проблема, не позволяющая использовать on line ресурсы типа:
https://www.randomizer.org/ https://www.random.org/integers/ Программа Statistica из списка 24 объектов отбирает 12 без задвоений, но после этого нужно руками проставлять этим номерам первую группу, а не попавшим в этот список - вторую группу, не удобно, а если групп 3 все еще труднее. Вариант , описанный nokh также без задвоений, но с элементами ручной работы. А потому, стоит согласиться с ogurtsov, лучше использовать специальные пакеты, тем более, что редакции некоторых научных журналов задают вопросы о методах радомизации, а в специальных пакетах их реализовано очень много, в randomizeR - 15. Я выполнила RAR (Random Allocation Rule) для этой задачке. https://cran.r-project.org/web/packages/ran...izeR/index.html > library (randomizeR) > N <-24 > K <-2 > groups <-c("A", "B") > rarPar(N, K, groups=groups) Object of class "rarPar" design = RAR N = 24 groups = A B > groups <-c("A", "B") > par <-rarPar(N ,K, groups=groups) > R <-genSeq(par) > getRandList® [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [1,] "A" "A" "B" "A" "A" "B" "A" "B" "A" "A" "B" "A" "B" "B" [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [1,] "A" "B" "B" "A" "B" "A" "B" "B" "A" "B" > saveRand(R, file="D:/R/mylist.doc.csv") Или просто отчет, там понятней, какому номеру какое лечение. > This document was generated on Вт фев 13 2018 at 0:03:20 . The randomizeR package of version 1.4 was used for generating the randomization list with the R version 3.4.3 (2017-11-30) . Randomization Method: RAR seed: 967519 N: 24 K: 2 ratio: 1, 1 groups: A, B Legend: N := number of included patients K := number of treatment groups ratio := allocation ratio of the trial groups := names for the investigated groups For specific randomization parameters see the help of the randomizeR package. "Allocation" "Treatment" 1 "A" 2 "A" 3 "B" 4 "A" 5 "A" 6 "B" 7 "A" 8 "B" 9 "A" 10 "A" 11 "B" 12 "A" 13 "B" 14 "B" 15 "A" 16 "B" 17 "B" 18 "A" 19 "B" 20 "A" 21 "B" 22 "B" 23 "A" 24 "B" |
|
12.02.2018 - 16:39
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 231 Регистрация: 27.04.2016 Пользователь №: 28223 |
У меня есть заготовка с ответом из выходящего в этом году Лабораторного практикума по биостатистике, но только в Excel - прикрепил. Посмотрел Ваш файл. Как мне кажется, для корректной работы там пропущен один пункт. Между п.3 и п.4. надо вставить превращение динамически генерируемых чисел в статические значения, т.е. выделить оба столбца, выбрать "копировать", потом выбрать"Главная"-> "Вставка"->""специальная вставка" -> "значения"-> OК. По крайней мере, в последних версиях EXCEL (2007 и выше) так. Иначе, он делает перегенерацию случайных чисел прямо в процессе сортировки. Второй путь - отключать в настойках EXCEL автоматический пересчет формул, но это уже извращение. Зная подходы к учебе у студентов, я бы все-таки это вписал в методичку, а то задерут вопросами :-) |
|
12.02.2018 - 16:55
Сообщение
#11
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Del
Сообщение отредактировал 100$ - 16.02.2018 - 14:19 |
|
12.02.2018 - 17:11
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 231 Регистрация: 27.04.2016 Пользователь №: 28223 |
Особенно интересует формула пересчета действительного числа из [0;1] в целый индекс от 1 до 24. Ну, этого, как раз при предлагаемой методике делать и не надо. Да и не сложно это, кстати. По-крайней мере в этом я за своих студентов спокоен (у меня - ИТ-шники, если что) |
|
12.02.2018 - 23:09
Сообщение
#13
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 |
Del
Сообщение отредактировал 100$ - 16.02.2018 - 14:20 |
|
12.02.2018 - 23:13
Сообщение
#14
|
|
Группа: Пользователи Сообщений: 1202 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 |
... Зная подходы к учебе у студентов, я бы все-таки это вписал в методичку, а то задерут вопросами :-) Благодарю за совет! Может и стоит это сделать, чтобы не было когнитивного дисонанса от изменения самих величин случайных значений после сортировки. Но, полагаю, для решения задачи рандомизации это не принципиально: ведь динамически генерируемые случайные числа остаюся случайными и в первой колонке всё равно будет случайная последовательность. Ведь так? И ещё вам везёт со студентами, у меня дети хорошие, но преимущественно - инфантильные или слабомотивированные какие-то, сильные и любознательные есть, но их мало. Хотя в магистратуре уже повеселее... У меня тоже есть вопрос к форумчанам по рандомизации. В статьях нередко описывается полная рандомизация, приводящая к разному числу объектов в экспериментальных группах. Зачем это делается? В чём преимущество такой полноты в ущерб мощности? >100$ Подколки - подколками, но поработав над монографиями я стал иначе относится к авторам "больших" форматов. Имею в виду форматы, которые больше научной статьи. Раньше сам щедро разавал "комплименты" авторам. Когда-то было даже так: принесу странички из книг на занятие и даю задание найти ошибки у авторов по пройденной теме. Сейчас только хвалю хорошие работы, а про слабые просто умалчиваю (к статьям это не относится). Потому что понял, сколько времени и труда нужно авторам хотя бы на то, чтобы скомпиллировать разрозненный материал, не говоря уже о практически полном оригинальном авторском изложении. Когда Практикум выйдет - выложу в открытй доступ. Там не ахти - 16 лабораторных, но зато полностью моё. Ляпы, конечно тоже будут, надеюсь только что не много и не сильных... А за студентов я тоже боюсь, но их калечит не ВУЗовский формат, не преподы, а нереализовавшиеся или гиперреализовавшиеся родители, довузовская система образования и неуверенность в востребованности получаемых знаний для хорошего трудоустройства и карьеры. Сообщение отредактировал nokh - 13.02.2018 - 01:46 |
|
13.02.2018 - 07:46
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 1325 Регистрация: 27.11.2007 Пользователь №: 4573 |
http://forum.disser.ru/?showtopic=1215 плав о блочной рандомизации 10 лет назад, а также о том как раньше генерировались случайные числа.
Тут частично объясняется различие в величине групп. Полная рандомизация (СR), если это математическое понятие, а не какая то фишка для придания авторитета своей публикации в угоду моде, подразумевает разделение на группы подобное подбрасыванию монеты. Давайте подбросим 24 раза, не факт, что будет 12 орлов. Благо есть R и уже рекомендованный современный (2017) пакет randomizeR, в котором реализована и CR (complete randоmization) > N <-24 > groups <-c("A", "B") > params <-crPar(N) > (R <- genSeq(params)) Object of class "rCrSeq" design = CR seed = 931821603 N = 24 groups = A B The sequence M: 1 B A B B B A A A A A ... > getRandList® [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [1,] "B" "A" "B" "B" "B" "A" "A" "A" "A" "A" "A" "A" "B" "B" [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [1,] "B" "A" "A" "B" "B" "B" "A" "B" "A" "A" Вот и результат 11:13, в отличие от предыдущей процедуры RAR(random allocation rule), которая выдает равные группы. Nokh, я опять на родине R, среда располагает к сильному крену в сторону R. |
|