Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Kelly Thompson
Andrew, Thanks. I reviewed the code for "require" and saw: "if (!character.only) package <- as.character(substitute(package))" #This helps me better understand what is going on. I am sharing this here because I think it might help others understand. as.character(

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Andrew Simmons
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

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Kelly Thompson
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 wrote: > > require(), similarly to library(), does not

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Jeff Newmiller
Don't load base. It is already loaded. On October 24, 2022 9:07:44 AM PDT, Kelly Thompson 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

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Bert Gunter
Reread ?require more carefully. Especially for the 'package' argument. Incidentally, you don't need to require base. It's always available. -- Bert On Mon, Oct 24, 2022 at 9:25 AM Kelly Thompson wrote: > > # Below, when using require(), why do I get the error message "Error > in if (!loaded)

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Henrik Bengtsson
You need to pass character.only = TRUE to require() whenever you specify the package using a character variable. I agree, the error message is confusing. /Henrik On Mon, Oct 24, 2022 at 9:26 AM Kelly Thompson wrote: > > # Below, when using require(), why do I get the error message "Error > in

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Andrew Simmons
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 wrote: > # Below, when using require(), why do I get the error message "Error > in

Re: [R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Ivan Krylov
В Mon, 24 Oct 2022 12:07:44 -0400 Kelly Thompson пишет: > require( packages_i_want_to_use[1] ) > #Error in if (!loaded) { : the condition has length > 1 This seems to be a bug in require(). In addition to understanding character strings as arguments, require() can load packages named by

[R] When using require(), why do I get the error message "Error in if (!loaded) { : the condition has length > 1" ?

2022-10-24 Thread Kelly Thompson
# 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