Pasando la ruta del directorio como parámetro en R
Tengo una función simple en R que ejecuta el resumen () a través de lapply () en muchos CSV de un directorio que especifico. La función se muestra a continuación:
# id -- the file name (i.e. 001.csv) so ID == 001.
# directory -- location of the CSV files (not my working directory)
# summarize -- boolean val if summary of the CSV to be output to console.
getMonitor <- function(id, dir, summarize = FALSE)
{
fl <- list.files(dir, pattern = "*.csv", full.names = FALSE)
fdl <- lapply(fl, read.csv)
dataSummary <- lapply(fdl, summary)
if(summarize == TRUE)
{ dataSummary[[id]] }
}
Cuando trato de especificar el directorio y luego lo paso como un parámetro a la función así:
dir <- "C:\\Users\\ST\\My Documents\\R\\specdata"
funcVar <- getMonitor("001", dir, FALSE)
Recibo el error:
Error en el archivo (archivo, "rt"): no se puede abrir la conexión. Además: Mensaje de advertencia: en el archivo (archivo, "rt"): no se puede abrir el archivo '001.csv': no existe tal archivo o directorio
Sin embargo, cuando ejecuto el código de abajo por su cuenta:
fl <- list.files("C:\\Users\\ST\\My Documents\\R\\specdata",
pattern = "*.csv",
full.names = FALSE)
fl[1]
Encuentra el directorio al que apunto yfl [1] salidas correctamente[1] "001.csv" que es el primer archivo listado.
Mi pregunta es qué estoy haciendo mal al intentar pasar esta variable de ruta como un parámetro a mi función. ¿Es R incapaz de manejar un parámetro de esta manera? ¿Hay algo que estoy perdiendo completamente? He intentado buscar y estoy familiarizado con otros lenguajes de programación, así que, francamente, me siento un poco estúpido / derrotado por quedarme atrapado en esto ahora mismo.