Похоже, вам не повезло.Из файла справки:
'assign' не отправляет методы назначения, поэтому его нельзя использовать для установки элементов векторов, имен, атрибутов и т. Д.
Обратите внимание, что назначениеприкрепленный список или фрейм данных изменяет прикрепленную копию, а не исходный объект: см. «attach» и «with».
Если вы передаете names(x)
в качестве ввода, вы не могли бы использовать:
nms <- names(x)
for ( n in nms )
x[[n]] <- 'new_value'
Кроме того, вы намерены, чтобы ваша функция изменила некоторую глобальную переменную?Например:
x <- list(test=1)
f <- function(...)
x$test <- 2
f() # want x$test = 2 ??
Потому что это не сработает (проблемы с областью).Вы можете заставить его работать с небольшим трудом (<<-
), но это, как правило, считается плохой практикой, так как легко ввести непреднамеренные ошибки в ваш код.
Если бы вы могли привести пример, почему вы хотитеэта функция / какой цели она будет служить, мы могли бы помочь вам найти альтернативное решение.