> On Sep 21, 2016, at 8:26 AM, MacQueen, Don <macque...@llnl.gov> wrote: > > Hopefully this is not a homework question. > > The other responses are fine, but I would suggest the simplest way to do > exactly what you ask is > > > if (!exists('r4')) r4 <- data.frame(a=0, b=0, c=0, d='x') > > > The exists() function requires a character string for its first argument, > i.e., the name of the object, not the object itself (check the help page > for exists).
Since the implicit goal is to determine whether a data.frame by that name is in the search path one could add the requirement that the 'list'-mode be added as a requirement in the search: if ( !exists('r4', mode='list') ){ r4 <- data.frame(a=0, b=0, c=0, d='x')} That would avoid a 'false'-detection (or at least an unintended detection) for a function by that name if one `exist`-ed. It would also mask any `r4` that might have been a matrix or other atomic vector outside the local evaluation frame. -- David. > > Using "get" to get it doesn't make sense if it already exists. > > -Don > > -- > Don MacQueen > > Lawrence Livermore National Laboratory > 7000 East Ave., L-627 > Livermore, CA 94550 > 925-423-1062 > > > > > > On 9/20/16, 12:31 PM, "R-help on behalf of Crombie, Burnette N" > <r-help-boun...@r-project.org on behalf of bcrom...@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@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. > > ______________________________________________ > R-help@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. David Winsemius Alameda, CA, USA ______________________________________________ R-help@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.