У меня есть эта простая цепь Маркова:Марковская цепочка: многократная функция R для отображения значений состояния в n временных меток?
library(markovchain)
mcSIR <- new("markovchain", states=c("S","I","R"),
transitionMatrix=matrix(data=c(0.9,0.1,0,0,0.8,0.2,0,0,1),
byrow=TRUE, nrow=3), name="SIR")
is <- c(99,1,0) # initial States
Как я определяю многоразовые функции "fvals",
, который возвращает (для любого цепи Маркова),
данных Кадр с значениями состояния для n временных меток?
вызов будет выглядеть так:
fvals(mcSIR,is,5) # show state values for 5 timesteps
Выход Кадр данных «fvals» будет выглядеть следующим образом:
(примечание: временных шагов являются второй столбец слева и начинать с нуля).
1 timestep S I R
2 0 99 1 0
3 1 89.1 10.7 0.2
4 2 80.19 17.47 2.34
5 3 72.17 22 5.83
6 4 64.95 24.81 10.23
7 5 58.46 26.35 15.2
Причина: Эта функция будет полезна для тестирования различного MCs,
без повторения кода R для каждого из них, каждый раз, когда ...
Спасибо за простой и эффективный ответ, Джорджио! Оно работает. Q1) Как преобразовать вывод fvals() в «обычный» кадр данных ?. Q2) Возможно, эта полезная и часто используемая функция (fvals) может быть включена в пакет «markovchain»? – user39150
Привет, это может помочь: https://qualityandinnovation.com/2015/12/08/a-discrete-time-markov-chain-dtmc-sir-model-in-r/ –