Así que vamos a decir que tengo un directorio con un montón de archivos .rdataCargando muchos archivos a la vez?
file_names=as.list(dir(pattern="stock_*"))
[[1]]
[1] "stock_1.rdata"
[[2]]
[1] "stock_2.rdata"
Ahora, ¿cómo puedo cargar estos archivos con una sola llamada?
Siempre se puede hacer:
for(i in 1:length(file_names)) load(file_names[[i]])
pero por qué no puedo hacer algo como do.call(load, file_names)
? Supongo que ninguna de las funciones de aplicación funcionaría porque la mayoría devolvería listas, pero no se debería devolver nada, solo que estos archivos deben cargarse. Tampoco puedo hacer que la función get
funcione en este contexto. Ideas?
La respuesta aceptada tampoco me funcionó, ya que solo obtuve una lista con los nombres de los objetos de los archivos cargados. Pero esto es lo que hizo: cargado <- lapply (info, function (x) {get (load (x, .GlobalEnv))}) – Wave
La respuesta aceptada funcionó para mí. Dependiendo de sus rutas de archivos, puede que necesite especificar full.names = TRUE en la función dir() para que la respuesta de Joshua funcione. –