我正在寻找监控对象何时更新的方法,并做一些事情(例如重绘图,打印消息)。
理想的是通用函数,如:
watch(obj, fn)
只要fn
发生更改,就会调用obj
。
或者,View
或plot
可以做到这一点吗?
答案 0 :(得分:6)
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