¿Cómo extraer todos los fragmentos de código de un archivo Rnw Sweave?

Recibí un archivo .Rnw que da errores al intentar compilar el paquete al que pertenece. El problema es que, al comprobar el paquete con las herramientas de RStudio, no obtengo ninguna información de error útil. Así que necesito averiguar primero en qué línea de código ocurre el error.

Para resolver esto, escribí este truco de 5 minutos para obtener todos los fragmentos de código en un archivo separado. Tengo la sensación de que me estoy perdiendo algo. ¿Cuál es la forma limpia de extraer todo el código en un archivo Rnw al igual que ejecuta un archivo de script? ¿Existe una función para extraer todo o ejecutar todo de tal manera que pueda averiguar en qué línea ocurre el error?

Mi hack

ExtractChunks <- function(file.in,file.out,...){
  isRnw <- grepl(".Rnw$",file.in)
  if(!isRnw) stop("file.in should be an Rnw file")

  thelines <- readLines(file.in)

  startid <- grep("^[^%].+>>=$",thelines)
  nocode <- grep("^<<",thelines[startid+1]) # when using labels.
  codestart <- startid[-nocode]

  out <- sapply(codestart,function(i){
    tmp <- thelines[-seq_len(i)]
    endid <- grep("^@",tmp)[1]  # take into account trailing spaces / comments
    c("# Chunk",tmp[seq_len(endid-1)])
  })

  writeLines(unlist(out),file.out)

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta