Вы можете написать эту функцию, чтобы принимать строку, а затем назначать глобально (стандартная оценка). Вы также не можете использовать строку и просто передать имя (нестандартная оценка). rlang упрощает нестандартный способ оценки, см. ниже.
install.packages('rlang')
library(rlang)
global_assign_se <- function(name, value) {
assign(name, value, envir = .GlobalEnv)
}
# Here we put quotes around the variable name
global_assign_se('item_assigned_globally_se', T)
item_assigned_globally_se # true
global_assign_nse <- function(name, value) {
name <- enquo(name)
name <- quo_name(name)
assign(name, value, envir = .GlobalEnv)
}
# Here we don't put quotes around the variable name
global_assign_nse(item_assigned_globally_nse, 'true')
item_assigned_globally_nse # true