在R中监视对象的方法

时间:2014-05-11 09:36:21

标签: r

我正在寻找监控对象何时更新的方法,并做一些事情(例如重绘图,打印消息)。

理想的是通用函数,如:

watch(obj, fn)

只要fn发生更改,就会调用obj

或者,Viewplot可以做到这一点吗?

1 个答案:

答案 0 :(得分:6)

Ben Bolker建议

makeActiveBinding正是我所寻找的。一个简单的例子:

makeActiveBinding("visibull", function(x) {
    if (! missing(x)) {
        .invisibull <<- x; 
        View(.invisibull)
    } else .invisibull
}, .GlobalEnv)

visibull <- data.frame(a=1:10, b=1:10)
visibull
visibull$a <- visibull$a + 1
.invisibull