Un directorio o carpeta en el lenguaje de programación R puede contener otros directorios. Es posible acceder a la lista de todos los directorios usando métodos base en R y devolverlos como una lista de carpetas.
El método list.dirs() en lenguaje R se usa para recuperar una lista de directorios presentes dentro de la ruta especificada. La salida devuelta tiene la forma de un vector de caracteres que contiene los nombres de los archivos contenidos en la ruta de directorio especificada, o devuelve un valor nulo si no se devolvieron directorios. Si la ruta especificada no existe o no es un directorio o no se puede leer, se omite de la evaluación.
Sintaxis:
lista.dirs(ruta = “.”, nombres.completos = VERDADERO, recursiva = VERDADERO)
Parámetro:
ruta: la ruta del directorio principal
full.names (predeterminado: VERDADERO): si se establece en FALSO, solo se muestran los nombres de los subdirectorios. De lo contrario, se muestran las rutas completas.
Devoluciones: Lista de archivos en orden lexicográfico
Directorio en uso:
Obtener las rutas completas de los directorios en R
La ruta completa devuelta cuando el atributo full.names = TRUE. Si configuramos, recursive = TRUE, los directorios se devuelven en orden jerárquico, comenzando con la ruta del directorio principal y luego seguidos por los subdirectorios. Sin embargo, si especificamos recursive = FALSE, solo se devuelven los directorios secundarios.
Ejemplo:
R
# specifying the path main_dir <- "/Users/mallikagupta/Desktop/gfg" print ("list of directories including the main directory") dir_list <- list.dirs(main_dir,recursive = TRUE) print (dir_list) print ("list of directories excluding the main directory") dir_list <- list.dirs(main_dir,recursive = FALSE) print (dir_list)
Producción
“lista de directorios incluyendo el directorio principal”
[1] “/Usuarios/mallikagupta/Escritorio/gfg” “/Usuarios/mallikagupta/Escritorio/gfg/Entrevistas”
[3] “/Usuarios/mallikagupta/Escritorio/gfg/Ubicaciones” “/Usuarios/mallikagupta/Escritorio/gfg/WFH”
“lista de directorios excluyendo el directorio principal”
[1] “/Usuarios/mallikagupta/Escritorio/gfg/Entrevistas” “/Usuarios/mallikagupta/Escritorio/gfg/Ubicaciones”
[3] “/Usuarios/mallikagupta/Escritorio/gfg/WFH”
Otra forma de excluir el directorio principal es especificar el índice [-1] adjunto al método list.dirs() que devuelve solo subdirectorios.
Ejemplo:
R
main_dir <- "/Users/mallikagupta/Desktop/gfg" print ("list of directories") dir_list <- list.dirs(main_dir)[- 1] print (dir_list)
Producción
«lista de directorios»
[1] “/Usuarios/mallikagupta/Escritorio/gfg/Entrevistas” “/Usuarios/mallikagupta/Escritorio/gfg/Ubicaciones”
[3] “/Usuarios/mallikagupta/Escritorio/gfg/WFH”
Obtener nombres de carpetas en R
Es posible recuperar solo los nombres de carpetas o directorios dentro del directorio principal. En este caso, configuramos el parámetro full.names = FALSE en la llamada al método. Los nombres están ordenados alfabéticamente.
Ejemplo:
R
main_dir <- "/Users/mallikagupta/Desktop/gfg" print ("list of directory names") dir_list <- list.dirs(main_dir,full.names = FALSE, recursive = FALSE) print (dir_list)
Producción
“lista de nombres de directorios”
[1] “Entrevistas” “Colocaciones” “FMH”
La función gsub() se usa para reemplazar todas las coincidencias de un patrón de una string. El patrón que especificamos es equivalente a una expresión regular («\\./») que se usa para eliminar todos los segmentos anteriores del nombre de ruta completo y devolver solo la última parte de la ruta, es decir, el nombre de la carpeta.
Sintaxis:
gsub(patrón, reemplazo, string)
Parámetro:
patrón: el patrón para ubicar en la string
reemplazo: la string con la que reemplazar las coincidencias.
Ejemplo:
R
main_dir <- "/Users/mallikagupta/Desktop/gfg" # set working director setwd(main_dir) print ("list of directories") dir_list <- list.dirs()[- 1] # getting folder names folder_list <- gsub("\\./", "", dir_list) print (folder_list)
Producción
«lista de directorios»
[1] “Entrevistas” “Colocaciones” “FMH”