如何生成 n 个 MarkovChain 序列,每个序列有 25 个转换
How to generate n MarkovChain sequences of 25 transitions each
我有一个转换矩阵 "T",我想生成 20 个不同的序列,每个序列有 25 个状态。
我有 markovchain
软件包并尝试了以下方法:
lapply(1:20,markovchainSequence(n = 25, markovchain = T, t0 = "In"))
但它说 markovcahinsequence
不是函数。请问有解决办法吗?
一个可重现的例子在这里确实有帮助,但我认为这已经完成了工作!您可能只需要更大的转换矩阵?!
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
我有一个转换矩阵 "T",我想生成 20 个不同的序列,每个序列有 25 个状态。
我有 markovchain
软件包并尝试了以下方法:
lapply(1:20,markovchainSequence(n = 25, markovchain = T, t0 = "In"))
但它说 markovcahinsequence
不是函数。请问有解决办法吗?
一个可重现的例子在这里确实有帮助,但我认为这已经完成了工作!您可能只需要更大的转换矩阵?!
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