Parece que está de enhorabuena. Desde el archivo de ayuda:
'Asignar' no despachar métodos de asignación, por lo que no se puede utilizar para conjunto de elementos de vectores, nombres, atributos, etc.
Note que la asignación en un listado adjunto o el marco de datos cambia la copia adjunta y no el objeto original: consulte 'adjuntar' y 'con'.
Si va a ceder names(x)
como entrada, no se puede utilizar:
nms <- names(x)
for (n in nms)
x[[n]] <- 'new_value'
Además, estás intención para su función de modificar alguna variable global? e.g .:
x <- list(test=1)
f <- function(...)
x$test <- 2
f() # want x$test = 2 ??
Porque esto no funcionará (problemas de alcance). Puede hacer que funcione con un poco de trabajo de pies (<<-
), pero esto generalmente se considera una mala práctica ya que es fácil introducir errores involuntarios en su código.
Si pudiera dar un ejemplo de por qué desea esta función/para qué sirve, podríamos ayudarlo a encontrar una solución alternativa.
Nota, hay una gran diferencia entre 'x $ test' y' x [['test']] '. Ver el documento en ['extract (..., drop = TRUE)'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html) – smci