swh:1:snp:a4c99a50dc49f82b591f268001b320f8c3ca0041
Raw File
Tip revision: dc000f2a5f006d137f66716b086025d618bf8306 authored by John M Chambers on 14 July 2008, 00:00:00 UTC
version 1.0-5
Tip revision: dc000f2
IQclosure.R
newIQ <- function(nData = 1000, probs = seq(0, 1, 0.25)) {
   dataBuf <- numeric(0)
   qBuf <- numeric(0)

   addData <- function(newdata) {
       n <- length(newdata);
       if(n + length(dataBuf) > nData)
         recompute(newdata)
       else
         dataBuf <<- c(dataBuf, newdata)
   }

   recompute <- function(newdata = numeric(0)) {
       qBuf <<- doQuantile(qBuf, c(dataBuf, newdata), probs)
       dataBuf <<- numeric(0)
   }

   getQ <- function() {
       if(length(dataBuf) > 0)
         doQuantile(qBuf, dataBuf, probs)
       else
         qBuf
   }
   list(addData = addData, getQ = getQ)
}
back to top