# Re: [R] Convert timeseries to transition matrix

From: Giovanni Petris <GPetris_at_uark.edu>
Date: Wed 23 Mar 2005 - 03:27:37 EST

The following, using table, seems to work:

> x <- sample(letters[1:2], 10, replace=T)
> x

[1] "b" "a" "a" "b" "b" "a" "a" "b" "b" "b"
> table(x[-1],x[-length(x)])

a b
a 2 2
b 2 3

Hope this helps,
Giovanni Petris

> Date: Tue, 22 Mar 2005 11:20:40 -0500
> From: Ingmar Visser <i.visser@uva.nl>
> Sender: r-help-bounces@stat.math.ethz.ch
> Cc:
> Precedence: list
> User-Agent: Microsoft-Entourage/11.1.0.040913
>
> Hi All,
> Does someone have an idea of how to cleverly convert a categorical
> timeseries into a transition matrix?
> Ie, I have something like:
> x<- c(1,1,2,1,1,2,2,2,1,2),
> And I want a matrix with counts and/or probabilities:
> > tr <- matrix(c(2,3,2,2),2,2)
> > tr
> [,1] [,2]
> [1,] 2 2
> [2,] 3 2
> Meaning that there are two transitions from 1 to 1, two from 1 to 2, three
> from 2 to 1 and two from 2 to 2.
> Using for loops etc this is of course no problem, but I am curious whether
> there is a smarter solution.
> Any hints appreciated, Ingmar
>
> --
> Ingmar Visser
> Department of Psychology, University of Amsterdam
> 1018 WB Amsterdam
> The Netherlands
> http://users.fmg.uva.nl/ivisser/
> tel: +31-20-5256735
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help