Подтвердить что ты не робот

Есть ли способ урезать knitr прямо из вашей рабочей области с помощью RStudio?

Интересно, могу ли я использовать knitr markdown, чтобы просто создать отчет "на лету" с объектами, происходящими из моего текущего рабочего пространства. Воспроизводимость здесь не проблема. Я также прочитал эту очень тонкую здесь.

Но все же я получаю сообщение об ошибке, жалующееся на то, что конкретный объект не найден.

1) Предположим, что я открываю новый документ и сохраняю его.

2) напишите фрагмент, который ссылается на некоторый объект lm в моей рабочей области. вызов summary(mylmobject)

3) вязать его.

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

Есть ли способ использовать объекты в методе R, которые находятся в текущем рабочем пространстве? Это было бы очень приятно показать, что люди, не работающие в R, пока не работают.

4b9b3361

Ответ 1

RStudio открывает новый сеанс R для knit() вашего файла R Markdown, поэтому объекты в текущем рабочем пространстве не будут доступны для этого сеанса (это два отдельных сеанса). Два решения:

  • передать в RStudio файл запрос функции, попросив их поддерживать вязание в текущем сеансе R вместо принудительного запуска нового сеанса;
  • вязать вручную самостоятельно: library(knitr); knit('your_file.Rmd') (или knit2html(), если вы хотите, чтобы вывод HTML за один шаг или rmarkdown::render(), если вы используете R Markdown v2)

Ответ 2

Вам может быть проще сохранить данные из другого сеанса, используя:

save.image("C:/Users/Desktop/example_candelete.RData")

а затем загрузите его в файл MD:

load("C:/Users/Desktop/example_candelete.RData")

Ответ 3

Markdownreports package в точности предназначен для синтаксического разбора документа уценки.

Ответ 4

Как прокомментировал Жюльен Коломб, я обнаружил, что в этой ситуации лучше всего сохранять большие объекты, а затем явно загружать их, пока я настраиваю уценку. Это необходимо, если ваши данные поступают через ODBC, и вы не хотите многократно выполнять полные запросы, когда вы работаете со шрифтами и темами.