Как сгенерировать n последовательностей MarkovChain по 25 переходов в каждой

У меня есть матрица перехода «T», и я хотел бы создать 20 различных последовательностей по 25 состояний в каждой.

У меня есть пакет markovchain, и я пробовал следующее:

lapply(1:20,markovchainSequence(n = 25, markovchain = T, t0 = "In"))

но там сказано, что markovcahinsequence не функция. Есть ли способ обойти это, пожалуйста?


person HCAI    schedule 10.09.2019    source источник


Ответы (1)


Воспроизводимый пример здесь действительно может помочь, но я думаю, что он делает свою работу! Вам может просто понадобиться матрица переходов побольше ?!

set.seed(123)
statesNames <- c("a", "b", "c") #easier with three states
t <- new("markovchain", states = statesNames,
         transitionMatrix = matrix(c(0.2, 0.5, 0.3, 0, 0.2, 0.8, 0.1, 0.8, 0.1),
                                   nrow = 3, byrow = TRUE, dimnames = list(statesNames, statesNames)))
mchain = function(n){
  markovchainSequence(n = n, markovchain = t, t0 = "a")
}
lapply(rep(25, each=20), mchain) # you may change 25 to desired number
person Majid    schedule 10.09.2019
comment
Привет, Маджид, большое спасибо за такой быстрый ответ. Вы, конечно, правы насчет воспроизводимого примера. Ребенок начал просыпаться, поэтому я подумал, что лучше было бы быстро нажать на вопрос и прийти и отредактировать его позже .... Похоже, вы меня опередили! - person HCAI; 10.09.2019
comment
Не беспокойтесь, в любое время! - person Majid; 11.09.2019