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
IQreplace.R
newIQ <- function(nData = 1000, probs = seq(0, 1, 0.25)) 
  list(nData = nData, probs = probs,
       dataBuf = numeric(0), qBuf = numeric(0))

`addData<-` <- function(IQ, update = FALSE, value) {
    n <- length(value);
    if(update || (n + length(IQ$dataBuf) > IQ$nData))
      recompute(IQ, value)
    else {
        IQ$dataBuf <- c(IQ$dataBuf, value)
        IQ
    }
}

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

getQ <- function(IQ) {
    if(length(IQ$dataBuf) > 0)
      doQuantile(IQ$qbuf, IQ$dataBuf, IQ$probs)
    else
      IQ$qBuf
}
back to top