Kelly Thompson
2022-Oct-24 16:42 UTC
[R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?
Thanks! # Please, can you help me understand why require( 'base' ) # works, but require( packages_i_want_to_use[1] ) # does not work? # In require( 'base' ), what is the "first argument"? On Mon, Oct 24, 2022 at 12:29 PM Andrew Simmons <akwsimmo at gmail.com> wrote:> > require(), similarly to library(), does not evaluate its first argument UNLESS you add character.only = TRUE > > require( packages_i_want_to_use[1], character.only = TRUE) > > > On Mon, Oct 24, 2022, 12:26 Kelly Thompson <kt1572757 at gmail.com> wrote: >> >> # Below, when using require(), why do I get the error message "Error >> in if (!loaded) { : the condition has length > 1" ? >> >> # This is my reproducible code: >> >> #create a vector with the names of the packages I want to use >> packages_i_want_to_use <- c('base', 'this_pac_does_not_exist') >> >> # Here I get error messages: >> require( packages_i_want_to_use[1] ) >> #Error in if (!loaded) { : the condition has length > 1 >> >> require( packages_i_want_to_use[2] ) >> #Error in if (!loaded) { : the condition has length > 1 >> >> # Here I get what I expect: >> require('base') >> >> require('this_pac_does_not_exist') >> #Loading required package: this_pac_does_not_exist >> #Warning message: >> #In library(package, lib.loc = lib.loc, character.only = TRUE, >> logical.return = TRUE, : >> # there is no package called ?this_pac_does_not_exist? >> >> ______________________________________________ >> 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.
Andrew Simmons
2022-Oct-24 16:53 UTC
[R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?
In the first one, the argument is a character vector of length 1, so the
code works perfectly fine.
The second is a call, and when coerced to a character vector should look
like
c("[", "packages_i_want_to_use", "1")
You can try this yourself with quote(packages_i_want_to_use[1]) which
returns its first argument, unevaluated.
On Mon, Oct 24, 2022, 12:46 Kelly Thompson <kt1572757 at gmail.com> wrote:
> Thanks!
>
> # Please, can you help me understand why
> require( 'base' ) # works, but
> require( packages_i_want_to_use[1] ) # does not work?
>
> # In require( 'base' ), what is the "first argument"?
>
> On Mon, Oct 24, 2022 at 12:29 PM Andrew Simmons <akwsimmo at
gmail.com>
> wrote:
> >
> > require(), similarly to library(), does not evaluate its first
argument
> UNLESS you add character.only = TRUE
> >
> > require( packages_i_want_to_use[1], character.only = TRUE)
> >
> >
> > On Mon, Oct 24, 2022, 12:26 Kelly Thompson <kt1572757 at
gmail.com> wrote:
> >>
> >> # Below, when using require(), why do I get the error message
"Error
> >> in if (!loaded) { : the condition has length > 1" ?
> >>
> >> # This is my reproducible code:
> >>
> >> #create a vector with the names of the packages I want to use
> >> packages_i_want_to_use <- c('base',
'this_pac_does_not_exist')
> >>
> >> # Here I get error messages:
> >> require( packages_i_want_to_use[1] )
> >> #Error in if (!loaded) { : the condition has length > 1
> >>
> >> require( packages_i_want_to_use[2] )
> >> #Error in if (!loaded) { : the condition has length > 1
> >>
> >> # Here I get what I expect:
> >> require('base')
> >>
> >> require('this_pac_does_not_exist')
> >> #Loading required package: this_pac_does_not_exist
> >> #Warning message:
> >> #In library(package, lib.loc = lib.loc, character.only = TRUE,
> >> logical.return = TRUE, :
> >> # there is no package called ?this_pac_does_not_exist?
> >>
> >> ______________________________________________
> >> 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.
>
> ______________________________________________
> 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]]