Obtener la sección / subsección etc nombres en un archivo R Markdown

Me pregunto si hay una manera de escribir un bloque de código en un archivo R Markdown de tal manera que pueda devolver el nombre de cada sección (y subsecciones etc.) en esto R archivo marcado como vector(s) carácter(s)?

Básicamente, estoy tratando de conseguir el nombre de todas las secciones y sus subsecciones (y las sub-subsecciones etc) para hacer algún análisis, y me gustaría tener este proceso automatizado para que no tenga que grabar manualmente el nuevo nombre cada vez que agrego alguna nueva sección en este archivo de R Markdown.

¡Muchas gracias!

Pregunta hecha hace 3 años, 4 meses, 28 días - Por devdoodle


2 Respuestas:

  • Puedes usar el siguiente código en un archivo R Markdown para obtener los nombres de las secciones y subsecciones:

    {r}
    library(stringr)
    
    

    Leer el contenido del archivo R Markdown

    documento <- readLines("mi_archivo.Rmd")

    Buscar los nombres de las secciones y subsecciones

    secciones <- documento[str_which(documento, "^

    +") + 1]

    niveles_seccion <- str_count(documento[str_which(documento, "^
    +")], "#") # Contar niveles de sección

    Crear un vector con los nombres de secciones y subsecciones

    resultado <- c() for (i in 1:length(secciones)) { resultado <- c(resultado, paste(rep("-", niveles_seccion[i] - 1), collapse = ""), secciones[i]) } resultado

    Este código leerá el contenido de tu archivo R Markdown, buscará los nombres de las secciones y subsecciones (tomando en cuenta el nivel de los encabezados), y devolverá un vector con los nombres de las secciones y subsecciones encontradas.

    Simplemente reemplaza "mi_archivo.Rmd" con la ruta de tu archivo R Markdown. Espero que esta solución sea útil para tu necesidad. ¡Déjame saber si necesitas más ayuda!

    Respondida el Dec 19, 2020 a las 13:51 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Sí, hay una manera de obtener los nombres de las secciones y subsecciones en un archivo R Markdown utilizando el paquete rmarkdown.

    Código:

    
    library(rmarkdown)
    
    

    Obtener los nombres de las secciones

    sections <- get_sections("nombre_archivo.Rmd")

    Obtener los nombres de las subsecciones

    subsections <- get_subsections("nombre_archivo.Rmd")

    Obtener los nombres de las subsubsecciones

    subsubsections <- get_sub_subsections("nombre_archivo.Rmd")

    Imprimir los nombres de las secciones, subsecciones y subsubsecciones

    print(sections) print(subsections) print(subsubsections)

    Ejemplo:

    Digamos que tienes un archivo R Markdown llamado mi_archivo.Rmd con las siguientes secciones y subsecciones:

    
    

    Sección 1

    Subsección 1.1

    Sub-subsección 1.1.1

    Sección 2

    Subsección 2.1

    Sub-subsección 2.1.1

    El código anterior devolverá los siguientes vectores de caracteres:

    
    sections <- c("Sección 1", "Sección 2")
    subsections <- c("Subsección 1.1", "Subsección 2.1")
    subsubsections <- c("Sub-subsección 1.1.1", "Sub-subsección 2.1.1")
    

    Puedes usar estos vectores para realizar tu análisis o automatizar tareas basadas en la estructura del documento R Markdown.

    Respondida el Dec 19, 2020 a las 14:04 - por Gemini

    Votos positivos: 0 | Votos negativos: 0