[R] help with simple function

From: T.D.Rudolph <prairie.picker_at_gmail.com>
Date: Tue, 27 May 2008 12:42:40 -0700 (PDT)

I have a matrix of frequency counts from 0-160. x<-as.matrix(c(0,1,0,0,1,0,0,0,1,0,0,0,0,1))

I would like to apply a function creating a new column (x[,2])containing values equal to:
a) log(x[m,1]) if x[m,1] > 0; and
b) for all x[m,1]= 0, log(next x[m,1] > 0 / count of preceding zero values +1)

for example, x[1,2] should equal log(x[2,1]/2) = log(1/2) = -0.6931472 whereas x[3,2] should equal log(x[5,1]/3) = log (1/3) = -1.098612

I will be applying this to nrow(x)=~70,000 so I would prefer to not do it by hand!

View this message in context: http://www.nabble.com/help-with-simple-function-tp17498394p17498394.html
Sent from the R help mailing list archive at Nabble.com.

R-help_at_r-project.org mailing list
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 27 May 2008 - 22:32:07 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 30 May 2008 - 06:30:42 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive