[R] Newbie: Better way to do compound conditionals in subset?
Jeffrey Robert Spies
jspies at nd.edu
Thu Oct 26 22:32:01 CEST 2006
I would personally use the following method (example using the iris
data included with R):
data(iris)
tSelect <- (iris$Sepal.Length > 6.0 & iris$Sepal.Length < 6.2 & iris
$Sepal.Width == 3.0)
tSelectedData <- iris[tSelect,]
Then you can simply work with tSelectedData for whatever equation
you use, i.e.:
tSelectedData$Sepal.Length - tSelectedData$Sepal.Width
Of course you could write all of this on one line, but that doesn't
read well.
Hope that helps,
Jeff.
On Oct 26, 2006, at 3:55 PM, Zembower, Kevin wrote:
> 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
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
More information about the R-help
mailing list