It's neater if you use dput() to give your data rather than just copying it into the email, but anyway:
> testdata <- read.table("clipboard", header=TRUE) > apply(testdata, 1, function(x)if(all(x == 0)) {0} else {min(x[x > 0])}) [1] 80 76 86 0 Sarah On Tue, May 8, 2012 at 3:50 PM, Jeff <r...@jp.pair.com> wrote: > > ...still new to R and trying to figure this one out. > > I have a number of variables x, y, z, etc. in a data frame. > > Each contains a 2 digit year (e.g., 80, 81, 82) representing the first year > that something occurred. Each variable represents a different type of event. > > If the event did not occur at all, the variable has the value 0 (zero). > > I need to create a new variable having the value of the earliest year among > the set of variables. > > If none of the events occurred (all variables = 0), then the new variable > should also be zero. > > e.g., > > Original > x y z > 80 82 83 > 85 76 90 > 90 0 86 > 0 0 0 > > > New variable > 80 > 76 > 86 > 0 > -- 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.