Nano Hash - криптовалюты, майнинг, программирование

указание выходного пути для linked2html

У меня возникли проблемы с указанием выходного пути для html-файла, созданного с помощью Knit2html или его зависимых функций. Я хотел бы указать 'outfile' в вызове Knit2html(), но я получаю сообщение об ошибке,

Ошибка в yarn2html(input = "test.Rmd", output = "test-abcd.html"):
объект 'outfile' не найден

'output' - это параметр markdownToHTML, который, я думаю, должен работать. Я не могу найти нигде в источнике, где используется «outfile».

Это должно воспроизвести мой опыт.

library(knitr)
library(markdown)

# a minimal example
writeLines(c("```{r hello-random, echo=TRUE}", "rnorm(5)", "```"), 
           "test.Rmd")

# this works and outputs to test.html
knit2html(input = "test.Rmd")

# this generates the above error
knit2html(input   = "test.Rmd", 
          output  = "test-abcd.html")

# breaking it down into two steps works in this simple case,
# but not in my application.  trying to diagnose that difference currently
knit("test.Rmd")    
markdownToHTML("test.md", 
               output="test-abcd.html")

актуальная информация о версии может быть полезна?

sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-pc-linux-gnu (64-bit)

other attached packages:
[1] plyr_1.8         knitr_1.2        digest_0.6.3     markdown_0.5.4   xtable_1.7-1     reshape2_1.2.2   scales_0.2.3     ggplot2_0.9.3.1  data.table_1.8.8
29.04.2013

Ответы:


1

Во-первых, спасибо за очень четкий и воспроизводимый вопрос. Если вы посмотрите на исходный код функции knit2html, то сможете понять, в чем проблема:

R> knit2html
function (input, ..., envir = parent.frame(), text = NULL, quiet = FALSE, 
    encoding = getOption("encoding")) 
{
    if (is.null(text)) {
        out = knit(input, envir = envir, encoding = encoding, 
            quiet = quiet)
        markdown::markdownToHTML(out, outfile <- sub_ext(out, 
            "html"), ...)
        invisible(outfile)
    }
    else {
        out = knit(text = text, envir = envir, encoding = encoding, 
            quiet = quiet)
        markdown::markdownToHTML(text = out, ...)
    }
}
<environment: namespace:knitr>

Если аргумент text равен NULL (т. е. если вы предоставляете файл в качестве входных данных вместо вектора символов), то данный файл передается в функцию knit, а функция markdownToHTML вызывается следующим образом:

markdown::markdownToHTML(out, outfile <- sub_ext(out, "html"), ...)

Таким образом, в этом случае имя выходного файла создается путем замены существующего расширения имени файла на html, и вы не можете указать свое собственное имя выходного файла в качестве аргумента.

29.04.2013
  • Спасибо @juba, думаю, на этом все покончено. Я думал, что даже смотрел на эту функцию, но, должно быть, пропустил важную часть моего размытия решения проблем. Я предполагаю, что в идеале он будет проверять «выход» и использовать имя по умолчанию, только если оно не было задано. 30.04.2013
  • @SamSwift извините за беспокойство; это ошибка вязания, которая была исправлена ​​в разрабатываемой версии: github.com/yihui/knitr 15.05.2013
  • NB: чтобы прочитать исходный текст для sub_ext, вам нужно напечатать три :: knitr:::sub_ext. 24.12.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..