Как движок языка knitr для Python в RMarkdown отслеживает переменные в разных фрагментах кода?

#r #r-markdown #knitr #reticulate

Вопрос:

Я просматривал исходный код knitr, чтобы лучше понять, как работают языковые движки, и кажется, что оценка кода в одном фрагменте является относительно простым делом, но мне трудно понять, как фрагменты Python могут вызывать переменные в разных фрагментах. Из более ранних пакетов Yihui у меня сложилось впечатление, что предпринимались попытки сделать это с помощью сокетов, но, похоже, текущий код как для reticulate, так и для knitr не содержит кода для сокетов, поэтому мой вопрос.

Ответ №1:

Это делается с помощью пакета reticulate вместо runr. Вы можете ознакомиться с Разделом 2.7.1 Окончательного руководства по уценке R для получения более подробной информации.

P.S. runr был очень ранним экспериментом и никогда официально не использовался в knitr.