[R] Count number of rows in a matrix with a character pattern
Rui Barradas
ruipbarradas at sapo.pt
Sun Apr 29 23:26:47 CEST 2012
Hello,
katarv wrote
>
> Hi,
>
> I have a large data set that I input as a matrix, where I have 1:x rows
> with names AX, then x+1: y rows named AY, etc. The idea is that I have
> to count how many rows exactly I have with name AX and how many I have
> with name AY (or find which row numbers have names AX). Is there any way
> in R to count a number of rows with a name matching a required pattern?
>
>
> Thanks in advance,
>
> Katie
>
Yes, there are ways of doing what you need.
In the example below I'm not assuming the names matching a pattern are
consecutive,
it's just simpler to define the names like that.
# Make an example matrix.
ax <- paste("AX", 1:4, sep="")
ay <- paste("AY", 1:6, sep="")
az <- paste("AZ", 1:2, sep="")
mat <- matrix(1:24, ncol=2, dimnames=list(c(ax, ay, az), NULL))
mat
# Now get the names and search (grep) the pattern
rnames <- rownames(mat)
grep("AY", rnames)
Two notes:
One, see the help pages for
?grep
?regex
Second, next time please post an example dataset using 'dput'
dput(mat)
structure(1:24, .Dim = c(12L, 2L), .Dimnames = list(c("AX1",
"AX2", "AX3", "AX4", "AY1", "AY2", "AY3", "AY4", "AY5", "AY6",
"AZ1", "AZ2"), NULL))
Like this it's just a matter of copy&paste to our R session.
Hope this helps,
Rui Barradas
--
View this message in context: http://r.789695.n4.nabble.com/Count-number-of-rows-in-a-matrix-with-a-character-pattern-tp4596848p4596993.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list