[R] Event handling in R
Nicholas.Beeton at utas.edu.au
Fri Dec 16 06:49:51 CET 2011
I've just started playing with getGraphicsEvent() in R, and was wondering if there is a simple way to stop this function waiting for input after a pre-defined time, instead of relying either on a non-NULL value from one of the event handlers or for a user-interrupt for it to halt (as per the R manual).
The only way that I've thought of to make this work is using setTimeLimit to kill the function after a set time - here's a (messy) example:
setTimeLimit(cpu = 1)
eventEnv <- getGraphicsEventEnv()
setGraphicsEventHandlers(prompt = 'Test')
err <- try(q <- getGraphicsEvent(), silent=TRUE)
# Not run
setTimeLimit(cpu = Inf)
but setTimeLimit doesn't seem to kill getGraphicsEvent() properly, as running this code just ends up with the repeated returned error of "Error in getGraphicsEvent(): recursive use of getGraphicsEvent not supported" instead of the intended "Error: reached CPU time limit" every second.
Is there a way to get around this problem, or a different method to make this work? Or should I quit dabbling in things beyond my ken?
More information about the R-help