On 20-02-2012, at 16:11, <murali.me...@avivainvestors.com> <murali.me...@avivainvestors.com> wrote:
> Folks, > > I'm trying to get stats from a matrix for each transition from one state to > another. > > I have a matrix x as below. > > structure(c(0, 2, 2, 2, 0, 0, 0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 0, > 0, 2, 2, 0.21, -0.57, -0.59, 0.16, -1.62, 0.18, -0.81, -0.19, > -0.76, 0.74, -1.51, 2.79, 0.41, 1.63, -0.86, -0.81, 0.39, -1.38, > 0.06, 0.84, 0.51, -1, -1.29, 2.15, 0.39, 0.78, 0.85, 1.18, 1.66, > 0.9, -0.94, -1.29, -0.23, -0.92, -0.21, 1.02, -0.77, -0.68, -0.33, > 0.04), .Dim = c(20L, 3L), .Dimnames = list(NULL, c("State", "V1", > "V2"))) > > Is it possible to get, say, mean values of each variable in state 1 when the > previous state was 0, in state 2 when the previous state was 0, and so on > with all available transitions between states 0, 1, 2? > > In the above case, mean of V1 in state 2 when previous state was 0 would be > > mean(c(-0.57, -0.59, 0.16, 0.06, 0.84)) = -0.02 > What do you mean by previous state. I do this > x <- cbind(c(NA, x[,"State"][-nrow(x)]), x) > colnames(x)[1] <- "State.prev" > x State.prev State V1 V2 [1,] NA 0 0.21 0.51 [2,] 0 2 -0.57 -1.00 [3,] 2 2 -0.59 -1.29 [4,] 2 2 0.16 2.15 [5,] 2 0 -1.62 0.39 [6,] 0 0 0.18 0.78 [7,] 0 0 -0.81 0.85 [8,] 0 1 -0.19 1.18 [9,] 1 1 -0.76 1.66 [10,] 1 1 0.74 0.90 [11,] 1 1 -1.51 -0.94 [12,] 1 2 2.79 -1.29 [13,] 2 2 0.41 -0.23 [14,] 2 1 1.63 -0.92 [15,] 1 1 -0.86 -0.21 [16,] 1 1 -0.81 1.02 [17,] 1 0 0.39 -0.77 [18,] 0 0 -1.38 -0.68 [19,] 0 2 0.06 -0.33 [20,] 2 2 0.84 0.04 The mean of V1 in state 2 when the previous state is 0 would be in my interpretation mean(c(-0.57, 0.06)) > while the mean of V1 in state 0 when previous state was 2 would be: > > mean(c(1.62, 0.18, -0.81)) = 0.33 > Your second case would be the mean of -1.62 Berend ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.