Valerie, In additio to Sarah's suggestion, you could also use
rowSums(c5[, 2:4] > 0) HTH, Jorge.- On Tue, Feb 21, 2012 at 7:45 PM, Sarah Goslee <> wrote: > There's almost always a better way than a loop (although > sometimes it isn't worth the effort to figure it out). This time > it's straightforward: > > > apply(c5[, 2:4], 1, function(x)sum(x > 0)) > [1] 3 2 1 0 3 > > Sarah > > On Tue, Feb 21, 2012 at 6:04 PM, Valerie Moore <> wrote: > > Hi, > > > > Is there a short way of doing this? > > > > I have the following table in R: > > > > 12.0 0.5 0.6 0.2 0 0 > > > > 12.3 1.2 0.8 0 0 0 > > > > 13.1 0 1.2 0 0 0 > > > > 10.1 0 0 0 1.3 0 > > > > 10.2 1.3 1.2 0.9 0 1.3 > > > > > > So I have 5 rows and 6 columns. For each row, I want to count the number > of times that the value is greater than 1 (FOR COLUMNS 2 TO 4). > > I have the following R code. > > > > count=numeric() > > for (i in 1:5) { > > count[i]=sum(c5[i,2:4]>0) > > } > > > > The result is > >> count > > [1] 3 2 1 0 3 > > > > Is there a short way of doing this (instead of doing the loop)? > > > > Thank you. > > > > > > -Valerie > > -- > Sarah Goslee > http://www.functionaldiversity.org > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.