Is this what you want: > x <- read.table(textConnection("Check1 Check2 HatchDate + 101 121 110 + 130 150 140 + 140 150 160"), header=TRUE) > closeAllConnections() > x Check1 Check2 HatchDate 1 101 121 110 2 130 150 140 3 140 150 160 > do.call(rbind, apply(x,1,function(.row){ + if (.row[3] < .row[2]){ + # split out the data + data.frame(Check1=c(.row[1], .row[3]), + Check2=c(.row[3] - 1, .row[2]), + Check3=c(.row[3], .row[3]), + Stage=c("I", "B")) + } + else { + # normal; just copy over + data.frame(Check1=.row[1], Check2=.row[2], Check3=.row[3], Stage="X") + } + })) Check1 Check2 Check3 Stage Check1 101 109 110 I HatchDate 110 121 110 B Check11 130 139 140 I HatchDate1 140 150 140 B Check12 140 150 160 X
On Wed, Jun 25, 2008 at 1:29 PM, Jessi Brown <[EMAIL PROTECTED]> wrote: > Hello, everyone. > > I'm hoping to prevent myself from doing a lot of pointing and clicking > in Excel. I have a dataframe of bird nest check observations, in which > I know the date of the first check, the date of the second check (both > currently in Julian date format), the status of the nest at the second > check (alive or failed), and the date that the nest hatched (i.e. > changed from Incubation stages to Brood-rearing stage). Many nests > have more than one record, as there were several nest checks > throughout the duration of the nesting attempt. > > What I want to do is assign a nest Stage variable, either Incubation > or Brood-rearing. It's very easy to do so when the second nest check > was before the hatch date (incubation), or when the first nest check > was after the hatch date (brood-rearing). But I can't figure out a > quick way to split the interval when it contained both incubation and > brood-rearing activities. > > I'd like to go from: > > Check1 Check2 HatchDate > 101 121 110 > > to: > > Check1 Check2 HatchDate Stage > 101 109 110 I > 110 121 110 B > > because even though the nest wasn't actually checked on the day of > hatching, we know that it transitioned to the next stage on hatch day. > > There's other covariates as well as the unique nest ID which need to > be carried along too, just like HatchDate. > > If anyone who is good at dataframe manipulation could suggest some > code to perform these actions, I would really appreciate it. Thanks in > advance. > > > cheers, Jessi Brown > Ecology, Evolution, and Conservation Biology > University of Nevada, Reno > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ 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.