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 <kt1572...@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 <akwsi...@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 <kt1572...@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@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. > [[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.