我需要关于马尔可夫链和数据预处理的帮助。假设我有以下矩阵,将个体与状态随时间推移联系起来:
ID Time1 Time2
1 14021 A A
2 15031 B A
3 16452 A C
对于这个矩阵,我想得到状态转移矩阵:因此,需要的是
A B C
A 1 0 1
B 1 0 0
C 0 0 0
同样的事情,但是现在由从该状态的转换的总数加权,即,
A B C
A 0.5 0 0.5
B 1 0 0
C 0 0 0
(as有两个从状态A离开的转换).我知道markovchain包有一个功能,如果一个有一个序列,比如AAABBAAABBCC,但如果数据像我一样设置,就不会这样做.理想情况下,直接过程会很好,但如果有某种方法将数据转换为一组序列,也会工作.
3条答案
按热度按时间erhoui1w1#
一种
igraph
方法,因此使用Joseph的答案中的df
:suzh9iv82#
这是另一个
base R
解决方案。az31mfrm3#
当然有更好的方法。这是我在一个无聊的星期五下午用循环涂鸦。