`function(trans,initprob,N)'
{
BrokerPosition <- c("BP", "IP", "SP")
mysequence <- character()
firstposition <- sample(BrokerPosition, 1, rep=TRUE, prob=initprob)
mysequence[1] <- firstposition
for (i in 2:N) {
prevposition <- mysequence[i-1]
probabilities <- trans[prevposition,]
BPosition <- sample(BrokerPosition, 1, rep=TRUE, prob=probabilities)
mysequence[i] <- BPosition
}
return(mysequence)
}
这是一个模拟马尔可夫链的函数,但每当我运行它时,我得到数组的错误没有'dimnames'属性,任何想法为什么会发生这种情况
答案 0 :(得分:2)
你的数组'mysequence'是字符,所以R试图找到rowname匹配mysequence [i-1]的行。如果你没有在'trans'上设置rownames,这将抛出你的错误。使用整数值从trans中选择一行,或者在trans上设置rownames,具体取决于您实际尝试的操作。