[R] Conditionally constructing columns in a data frame

From: Stuart Luppescu <slu_at_ccsr.uchicago.edu>
Date: Tue, 29 Jun 2010 13:54:16 -0500

Hello, I have to construct 5 new columns in a data frame depending on the value of another of the columns in the data frame. The only way I could figure out to do this was to subset the data frame five times, do the variable construction, and then rbind the subsets back together. Here's part of the code I used:

read001 <- read[read$existstr=="001",]

  read001$era1end <- NA
  read001$era2base <- NA
  read001$era2end <- NA
  read001$era3base <- read001$era1base
  read001$era3end <- read001$era3base + (6 * read001$era3tr)

read011 <- read[read$existstr=="011",]

  read011$era1end <- NA
  read011$era2base <- read011$era1base
  read011$era2end <- read011$era2base + (4 * read011$era2tr)
  read011$era3base <- read011$era2end
  read011$era3end <- read011$era2end + (6 * read011$era3tr)


read2 <- rbind(read001, read011, read100, read110, read111)

Isn't there an easier way to do this?


Stuart Luppescu <slu_at_ccsr.uchicago.edu>
University of Chicago

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 29 Jun 2010 - 18:56:25 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 Tue 29 Jun 2010 - 19:50:43 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