Skip to content

Thibak/hematopoiesis-on-SAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 

Repository files navigation

hematopoiesis-on-SAS

Для каждой стволовой клетки (а точнее КОЕ) пишем таблицу-описание состояния колонии. Каждая строка это вектор пар, состоящих из идентификатора события и времени до его наступления. Каждый столбец это новая клетка (пара событие-время)

Вниание, ВОПРОС!: Как я собираюсь выбирать какое же событие произошло? Тут вопрос в конкурирующих рисках. Судя по всему нужно иметь еще и куммулитивную переменную возраста/времени/степени дифференцировки.

смотрим только последную строку. А вернее просматриваем тот вектор, который создали в прошлый раз. ГЛАВНОЕ, не затереть нужные значения. Т.е. мы его просто модифицируем

примерно так:

data a; input g1-g4; datalines; 1 2 3 4 ; run;

data a; set a; if g1 = 1 then d = 0; if g2 = 2 then f = 0; if g3 = 3 then g4 = .; if g4 = 4 then p = 1; run;

proc print ; run;

Разыгрывается события по функциям вероятности, и сравнивается что произошло раньше. Записываем, приплюсовываем. Проргоняем для всех клеток.

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

  1. деление -- 1) в рассматриваемую клетку разыгрываем новое событие, 2) создаём новую клетку, ставим ей статус новорожденной. Какие-то характеристики наследуются, какие-то новые.
  2. смерть/уход -- ставим мисинги во все переменные.

----- пока это модель жизнинного цикла одной колонии. Если добавить таблицы отсчета событий и/или...

Подцепляем созданный вектор к датасету (архив).


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

пока так.


Как получить последнее наблюдение: *data a; *set a *end = last; *if last; *run; Так, на всякий случай.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published