【发布时间】:2013-04-19 02:45:54
【问题描述】:
我有一个关于引用类的问题。我的问题是在我正在开发rCharts 的 R 包的上下文中。它使用参考类从 R 创建交互式绘图。
创建情节涉及一系列调用。这是一个示例,首先创建散点图,然后添加折线图。
p1 <- rPlot(mpg ~ cyl, data = mtcars, type = 'point')
p1$layer(copy_layer = T, type = 'line')
现在,由于引用类就像一个闭包,我想知道是否可以记录所做的调用。这个想法是,如果我可以记录调用的顺序,那么我可以自动插入用于创建可视化的源代码以及 html。
我试图看看我是否可以使用sys.function 或match.call,但我无处可去。如果有人能指出我如何处理这个问题,将不胜感激。
【问题讨论】:
-
解决方案应该是公平的:在每种方法中,您都需要
calls <<- c(calls, list(match.call())) -
谢谢,效果很好!也许我应该将此作为一个不同的问题发布,但推荐的重新运行呼叫列表的方法是什么。
-
只需
eval()他们 - 但如果你想这样做,你还需要捕获他们使用parent.frame()执行的环境 -
谢谢!我意识到我不需要评估它们,因为参考 e 类已经包含所有调用的输出。日志记录仅用于记录调用顺序。如果您作为答案发布,我可以接受。再次感谢。
标签: r reference-class