File: checkcalibration.R

package info (click to toggle)
r-cran-sampling 2.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,336 kB
  • sloc: ansic: 21; makefile: 2
file content (21 lines) | stat: -rw-r--r-- 708 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
checkcalibration<-function (Xs, d, total, g, EPS = 1e-06) 
{
    if (is.null(g)) 
        stop("the g-weight vector is null")
    if (!is.matrix(Xs)) 
        Xs <- as.matrix(Xs)
    tr <- crossprod(Xs, g * d)
    expression<- max(abs(tr - total)/total)
    if(any(total<=sqrt(.Machine$double.eps))) expression<- max(abs(tr - total))
    if (expression < EPS) {
        result <- TRUE
        message <- "the calibration is done"
        value <- EPS
    }
    else {
        message <- cat("the calibration cannot be done. The max EPS value is given by 'value'.\n")
        value <- expression
        result <- FALSE
    }
    list(message = message, result = result, value = value)
}