[R] How to count the number of sequences in matrix?
Lauri Nikkinen
lauri.nikkinen at iki.fi
Tue Nov 13 14:07:01 CET 2007
Hi R-users,
I have a matrix similar to this. I would like to calculate the number
of 1 sequences in a row and also the length of the 1 sequence. For
instance, in the example below, row number one has four sequences of
number 1 (from left to right: 1; 1; 1,1; 1) and the corresponding
SeqCount is 4 and SeqLenght 1,1,2,1.
g <- c(0,0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 ,1 ,0 ,1 ,1 ,1 ,0 ,1
,1 ,0 ,1 ,1 ,0 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,1
,1 ,1 ,0 ,1 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,1
,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1
,0 ,0 ,1 ,0 ,0 ,1 ,1 ,0 ,1)
dim(g) <- c(10,10)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 1 0 0 1 0 1 1 0 1
[2,] 0 1 1 1 1 1 0 0 0 0
[3,] 1 0 1 1 0 0 0 1 0 0
[4,] 1 1 0 1 1 0 1 0 0 1
[5,] 0 1 1 1 1 1 1 0 0 0
[6,] 1 1 1 0 1 0 0 1 1 0
[7,] 1 0 0 1 1 0 1 1 1 1
[8,] 1 1 1 0 0 0 1 0 1 1
[9,] 1 1 0 1 1 1 0 1 0 0
[10,] 1 1 1 1 1 0 0 1 1 1
The resulting datafmame should look like this:
x <- "Rownumber SeqCount SeqLenght
1 4 1
1 4 1
1 4 2
1 4 1
2 1 5
3 3 1
3 3 2
3 3 1
4 4 2
4 4 2
4 4 1
4 4 1
5 1 6
6 3 3
6 3 1
6 3 2
7 3 1
7 3 2
7 3 4
8 3 3
8 3 1
8 3 2
9 3 2
9 3 3
9 3 1
10 2 5
10 2 3"
x <- read.table(textConnection(x), header=TRUE)
x
Any idea how to do this in R?
Best regards,
Lauri
More information about the R-help
mailing list