У меня вопрос по ссылочным классам. Мой вопрос связан с пакетом R, который я разрабатываю rCharts. Он использует ссылочные классы для создания интерактивных графиков из R.
Создание сюжета предполагает серию звонков. Вот пример, где сначала создается диаграмма рассеяния, а затем добавляется линейный график.
p1 <- rPlot(mpg ~ cyl, data = mtcars, type = 'point')
p1$layer(copy_layer = T, type = 'line')
Теперь, поскольку ссылочный класс похож на закрытие, мне было интересно, можно ли регистрировать сделанные вызовы. Идея состоит в том, что если я могу регистрировать последовательность выполненных вызовов, то я могу автоматически вставлять исходный код, используемый для создания визуализации, вместе с html.
Я пытался понять, могу ли я использовать sys.function
или match.call
, но ничего не добился. Если кто-то может указать мне, как я могу подойти к этому, я был бы очень признателен.
1 ответ
Как заявил @hadley:
calls <<- c(calls, list(match.call()))
Рад, что, похоже, сработало. Давай закроем это. :)
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат полностью. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.
calls <<- c(calls, list(match.call()))
eval()
их - но если вы хотите это сделать, вам также потребуется захватить среду, в которой они были выполнены с помощьюparent.frame()