Revision d94d986df2cb1bd6eb7f7bb1dae50853744f8d77 authored by Charles Dupont on 31 October 2007, 21:18:43 UTC, committed by cran-robot on 31 October 2007, 21:18:43 UTC
1 parent b69f0b3
Raw File
deff.s
deff <- function(y, cluster)
{
  ss <- function(x)
  {
    n <- length(x)
    xbar <- sum(x)/n
    sum((x-xbar)^2)
  }

  if(!is.factor(cluster))
    cluster <- as.factor(cluster)
  
  cluster <- oldUnclass(cluster)
  s <- !is.na(cluster+y)
  y <- y[s]; cluster <- as.integer(cluster[s])
  n <- length(y)
  sst <- ss(y)
  sses <- tapply(y,cluster,ss)
  k  <- length(sses)
  R2 <- 1-sum(sses)/sst
  Fstat  <- R2*(n-k)/(1-R2)/k
  g  <- (Fstat-1)*k/n
  rho <- g/(1+g)
  ng <- table(cluster)
  B  <- sum(ng^2)/n
  deff <- 1+(B-1)*rho
  c(n=n, clusters=k, rho=rho, deff=deff)
}
back to top