Could you just transpose the matrix? Otherwise you can write a simple function that should work. Try this ============================================================ -(mat1 <- matrix(c(1, 2, 3, NA, 10, 2, NA, 8, 9, NA),nrow=2))
gl <- function(x)length(x[!is.na(x)] apply(mat1, 1, gl) ============================================================== -- On Tue, 12/29/09, Verena Weber <verenawe...@gmx.de> wrote: > From: Verena Weber <verenawe...@gmx.de> > Subject: [R] Newbie needs to count elements in a row > To: r-help@r-project.org > Received: Tuesday, December 29, 2009, 8:49 AM > Hi, > > I have a n*m matrix and would like to count the number of > elements not equal to NA in a ROW. > > e.g. > > x 1 2 3 NA 10 > y 2 NA 8 9 NA > > Which function can I use to obtain > "4" for row x and > "3" for row y? > > Could you help me? I found some functions for columns but > not for rows... > [[elided Yahoo spam]] > > ______________________________________________ > 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. > ______________________________________________ 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.