[R] if/else help
William Dunlap
wdunlap at tibco.com
Wed Sep 21 16:47:44 CEST 2016
If you write your code as functions you can avoid the nasty
'if(exists("x"))x<-...' business this by writing default values for
arguments to your function. They will be computed only when
they are used. E.g.,
analyzeData <- function(a=0, b=0, c=0, d="x", r4 = data.frame(a, b, c, d)) {
summary(r4)
}
> analyzeData(c=101:102)
a b c d
Min. :0 Min. :0 Min. :101.0 x:2
1st Qu.:0 1st Qu.:0 1st Qu.:101.2
Median :0 Median :0 Median :101.5
Mean :0 Mean :0 Mean :101.5
3rd Qu.:0 3rd Qu.:0 3rd Qu.:101.8
Max. :0 Max. :0 Max. :102.0
> analyzeData(r4=data.frame(a=10:11,b=20:21,c=30:31,d=c("x","y")))
a b c d
Min. :10.00 Min. :20.00 Min. :30.00 x:1
1st Qu.:10.25 1st Qu.:20.25 1st Qu.:30.25 y:1
Median :10.50 Median :20.50 Median :30.50
Mean :10.50 Mean :20.50 Mean :30.50
3rd Qu.:10.75 3rd Qu.:20.75 3rd Qu.:30.75
Max. :11.00 Max. :21.00 Max. :31.00
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Tue, Sep 20, 2016 at 12:31 PM, Crombie, Burnette N <bcrombie at utk.edu>
wrote:
> If a data.frame (r4) does not exist in my R environment, I would like to
> create it before I move on to the next step in my script. How do I make
> that happen? Here is what I want to do from a code perspective:
>
> if (exists(r4))
> {
> is.data.frame(get(r4))
> }
> else
> {
> a <- 0, b <- 0, c <- 0, d <- "x", r4 <- data.frame(cbind(a,b,c,d))
> }
>
> Thanks for your help,
> B
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list