Сохранить блок knitr в файл R

В книтре есть read_chunk функция, которая читает внешний код в чанк. Можно ли повернуть процесс вспять? То есть сделать функцию write_chunk() которые сохраняют исходный код в чанке в файл R? Имя файла может совпадать с именем чанка.

2 ответа

Решение

Я нашел решение, используя крючки. Добавьте следующий хук:

knit_hooks$set(write_chunk = function(before, options, envir) {
    if (before) {
      fileConn<-file(paste0("chunk_",options$label,".R") )
      writeLines(options$code, fileConn)
      close(fileConn)
    }
})

и использовать опцию <<chunk-name, write_chunk=TRUE>> в заголовке чанка.

Вы можете использовать следующий синтаксис

Stangle(file = "Your_code.Rnw",output="Code.R"):

Но в этом я могу доказать следующую ошибку:

#Error: ‘Your_code.Rnw’ is not ASCII and does not declare an encoding

При добавлении следующего параметра (encoding = "UTF-8") проблема кодирования решена

Stangle("Your_code.Rnw",output="Code.R",encoding="utf8")
Другие вопросы по тегам