[R] Newbie: Better way to do compound conditionals in subset?

Zembower, Kevin kzembowe at jhuccp.org
Thu Oct 26 21:55:07 CEST 2006


There must be a better way to select the rows after 22-Apr-2004 and
before 01-Sep-2004 with a temperature below 65 than this:

> before2sw1 <- subset(energy.data, as.Date(start, format="%d-%b-%y") <
as.Date("01-Sep-04", format = "%d-%b-%y"))
> before2sw2 <- subset(before2sw1, as.Date(start, format="%d-%b-%y") >=
as.Date("22-Apr-04", format = "%d-%b-%y"), select=c(therms,temp,days))
> before2sw <- subset(before2sw2, temp < 65)

Is it also possible to combine in this step:

attach(before2sw)
before2sw.HDD <- therms / (65 - temp) * days

My data looks like this:
> head(energy.data)
      start therms   gas KWHs elect temp days
1 10-Jun-98      9 16.84  613 63.80   75   40
2 20-Jul-98      6 15.29  721 74.21   76   29
3 18-Aug-98      7 15.73  597 62.22   76   29
4 16-Sep-98     42 35.81  460 43.98   70   33
5 19-Oct-98    105 77.28  314 31.45   57   29
6 17-Nov-98    106 77.01  342 33.86   48   30
>

Thanks for your suggestions and advice. I'm continuing to enjoy learning
R.

-Kevin

Kevin Zembower
Internet Services Group manager
Center for Communication Programs
Bloomberg School of Public Health
Johns Hopkins University
111 Market Place, Suite 310
Baltimore, Maryland  21202
410-659-6139



More information about the R-help mailing list