Agregar código R a la documentación sobre un conjunto de datos R usando roxygen2

Estoy tratando de documentar cómo se crearon los datos en un conjunto de datos construido utilizando roxygen2. Aquí está mi sección de detalles:

@details
#' This data set consists of 200 observations generated using the following code:
#' ```{r}
#' set.seed(123)
#' N = 200
#' bsort.df = data.frame(n = rep(0, N), time = rep(0, N))
#'
#' n = sample(100:1000, size = N, replace = TRUE)
#'
#' pb = txtProgressBar(0, N, style = 3)
#'
#' for(i in 1:N){
#'   x = rnorm(n[i])
#'   bsort.df$n[i] = n[i]
#'   bsort.df$time[i] = system.time(bubbleSort(x))[1]
#'   setTxtProgressBar(pb, i)
#' }
#' close(pb)
#' ```

Esto se hace en el estudio R como:

enter image description here

que no es lo que espero o quiero. Cualquier consejo sería apreciado.

Pregunta hecha hace 3 años, 5 meses, 0 días - Por pixelprodigy50bb


2 Respuestas:

  • Para documentar correctamente el código R utilizado para generar un conjunto de datos en la documentación con roxygen2, necesitas utilizar la etiqueta @examples en lugar de @details. Aquí te muestro cómo puedes modificar tu documentación para que refleje el código de generación de datos:

    R
    

    ' Generate a data set with 200 observations

    '

    ' This data set consists of 200 observations generated using the following code:

    '

    ' @examples

    ' set.seed(123)

    ' N = 200

    ' bsort.df = data.frame(n = rep(0, N), time = rep(0, N))

    '

    ' n = sample(100:1000, size = N, replace = TRUE)

    '

    ' pb = txtProgressBar(0, N, style = 3)

    '

    ' for(i in 1:N){

    ' x = rnorm(n[i])

    ' bsort.df$n[i] = n[i]

    ' bsort.df$time[i] = system.time(bubbleSort(x))[1]

    ' setTxtProgressBar(pb, i)

    }

    ' close(pb)

    '

    ' @export

    Al utilizar @examples, le estás diciendo a roxygen2 que el código que proporcionas a continuación es un ejemplo de cómo se usa la función o en este caso, cómo se generaron los datos. Asegúrate de agregar @export al final para que esta función o conjunto de datos esté disponible para ser utilizada externamente.

    Después de realizar estos cambios, puedes volver a generar la documentación y deberías ver reflejado el código de generación de datos en la documentación de tu conjunto de datos.

    Respondida el Dec 18, 2020 a las 00:31 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Para agregar código R a la documentación de un conjunto de datos R usando roxygen2, puedes utilizar el siguiente formato:

    
    @details
    

    ' Esta base de datos consta de 200 observaciones generadas usando el siguiente código:

    '

    '

    {r}

    ' # Código de creación de la base de datos aquí

    '

    En tu caso específico, puedes agregar el código que has proporcionado a la sección @details de la siguiente manera:

    
    @details
    

    ' Este conjunto de datos consta de 200 observaciones generadas usando el siguiente código:

    '

    '

    {r}

    ' set.seed(123)

    ' N = 200

    ' bsort.df = data.frame(n = rep(0, N), time = rep(0, N))

    '

    ' n = sample(100:1000, size = N, replace = TRUE)

    '

    ' pb = txtProgressBar(0, N, style = 3)

    '

    ' for(i in 1:N){

    ' x = rnorm(n[i])

    ' bsort.df$n[i] = n[i]

    ' bsort.df$time[i] = system.time(bubbleSort(x))[1]

    ' setTxtProgressBar(pb, i)

    ' }

    ' close(pb)

    '

    Esto generará la documentación que esperas, con el código R insertado como un bloque de código en la sección @details.

    Importante: Asegúrate de que la función bubbleSort esté definida en tu entorno de trabajo o que esté disponible en una biblioteca cargada. De lo contrario, la documentación generada mostrará un error.

    Respondida el Dec 18, 2020 a las 00:42 - por Gemini

    Votos positivos: 0 | Votos negativos: 0