R/estimar_con_pesos_PISA2015.R

#' @title funciones para el calculo de parametros con replicas y valores plausibles
#' @details Funciones para estimar con los datos de PISA
#' Modificado para pisa2015
#' Para medidas sin valores plausibles
#' estima.media
#' estima (d.t.ponderada, ...)
#' estima.props
#' estima.table estima.table.abs estima.table1 estima.table2
#' estima.reg
#' Para medidas con valores plausibles
#' estima.vp.media
#' estima.vp (d.t.ponderada, ...)
#' estima.vp.props
#' estima.vp.reg
#' scripts by Carlos Carleos from Universidad de Oviedo (provided by 2e …

estima.media <- function (medida="HISEI", dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) weighted.mean (dat[,medida], dat[,pe], na.rm=TRUE))
  estima      <- weighted.mean (dat[,medida], dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  list (estima=estima, et=d.t.estima)
}

estima <- function (estadígrafo=weighted.mean, medida="HISEI", dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (dat[,medida], dat[,pe], na.rm=TRUE))
  estima      <- estadígrafo (dat[,medida], dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  list (estima=estima, et=d.t.estima)
}

d.t.ponderada <- function (x, p, na.rm=T, ...) sqrt (weighted.mean(x^2,p,na.rm=na.rm, ...) - weighted.mean(x,p,na.rm=na.rm,...) ^ 2)
var.ponderada <- function (x, p, na.rm=T, ...) (weighted.mean(x^2,p,na.rm=na.rm, ...) - weighted.mean(x,p,na.rm=na.rm,...) ^ 2)

estima2 <- function (estadígrafo=cor.ponderada, medida1="PV1CPRO", medida2="PV1MATH", dat=e, columnas.pesos=grep("^rwgt",names(dat)), ...)
{
  medias80    <- sapply (columnas.pesos,
                         function (pe) estadígrafo (dat[,medida1], dat[,medida2], dat[,pe], use="pair", ...))
  estima      <- estadígrafo (dat[,medida1], dat[,medida2], dat$W_FSTUWT, use="pair", ...)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  list (estima=estima, et=d.t.estima)
}

cov.ponderada <- function (x, y, p, use="pair", ...)
{
  índices <- !is.na(x) & !is.na(y) & !is.na(p); xx <- x[índices]; yy <- y[índices]; pp <- p[índices]
  weighted.mean (xx*yy - weighted.mean(xx,pp,...) * weighted.mean(yy,pp,...), pp, ...) # como use="pair"
}

cor.ponderada <- function (x, y, p, use="pair", ...)
{
  índices <- !is.na(x) & !is.na(y) & !is.na(p); xx <- x[índices]; yy <- y[índices]; pp <- p[índices]
  weighted.mean (xx*yy - weighted.mean(xx,pp,...) * weighted.mean(yy,pp,...), pp, ...) /
    d.t.ponderada (xx, pp, ...) / d.t.ponderada (yy, pp, ...)
}

cor.ponderada.pais <- function (x, y, p, use="pair", cond, ...)
{
  índices <- !is.na(x) & !is.na(y) & !is.na(p) & !is.na(cond)
  x1 <- x[índices]; y1 <- y[índices]; p1 <- p[índices]; cond1 <- cond[índices]
  db <- by (data.frame (x=x1, y=y1, p=p1), cond1,
            function (d) c (weighted.mean (d$x, d$p),
                            weighted.mean (d$y, d$p),
                            1)) #pai'ses pesan igual; si no: sum (d$p)))
  xx <- sapply (db, function (x) x[1])
  yy <- sapply (db, function (x) x[2])
  pp <- sapply (db, function (x) x[3])
  weighted.mean (xx*yy - weighted.mean(xx,pp,...) * weighted.mean(yy,pp,...), pp, ...) /
    d.t.ponderada (xx, pp, ...) / d.t.ponderada (yy, pp, ...)
}

estima.cor <- function (estadígrafo=cor.ponderada, medidas=c("PV1CPRO","PV1MATH","PV1READ","PV1SCIE"),
                        dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  resul <- outer (medidas, medidas,
                  Vectorize (function (medida1, medida2) paste (signif (as.numeric (estima2 (estadígrafo=estadígrafo, medida1=medida1, medida2=medida2,
                                                                                             dat=dat, columnas.pesos=columnas.pesos))),
                                                                collapse="±")))
  dimnames (resul) <- list (medidas, medidas)
  resul
}

estima.cor1 <- function (estadígrafo=cor.ponderada, medidas=c("PV1CPRO","PV1MATH","PV1READ","PV1SCIE"),
                         dat=e, columnas.pesos=grep("^rwgt",names(dat)))
  ## so'lo la estima sin error ti'pico, como nu'mero
{
  resul <- outer (medidas, medidas,
                  Vectorize (function (medida1, medida2) (as.numeric (estima2 (estadígrafo=estadígrafo, medida1=medida1, medida2=medida2,
                                                                               dat=dat, columnas.pesos=columnas.pesos) [1]))
                  ))
  dimnames (resul) <- list (medidas, medidas)
  resul
}

corcond.ponderada <- function (x, y, p, cond, use="pair", ...)
{
  índices <- !is.na(x) & !is.na(y) & !is.na(p) & !is.na(cond)
  xx <- x[índices]; yy <- y[índices]; pp <- p[índices]; cc <- cond[índices]
  rxx <- resid (lm (xx ~ cc))#, weights = pp))
  ryy <- resid (lm (yy ~ cc))#, weights = pp))
  cor.ponderada (rxx, ryy, pp, ...)
}

estima2.cond <- function (estadígrafo=corcond.ponderada, medida1="PV1CPRO", medida2="PV1MATH", cond="CNT",
                          dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (dat[,medida1], dat[,medida2], dat[,pe],
                                                                    dat[,cond], use="pair"))
  estima      <- estadígrafo (dat[,medida1], dat[,medida2], dat$W_FSTUWT, use="pair")
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  list (estima=estima, et=d.t.estima)
}

prop.ponderada <- function (categoría)
  function (x, p, ...) weighted.mean (x==categoría, p, ...)

frec.ponderada <- function (categoría)
  function (x, p, ...) sum (x==categoría, ...) # ¿no se usan los pesos!

estima.prop <- function (categoría=1,estadígrafo=prop.ponderada(categoría),
                         medida="ST03Q01", dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (dat[,medida], dat[,pe], na.rm=TRUE))
  estima      <- estadígrafo (dat[,medida], dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  list (estima=estima, et=d.t.estima)
}

estima.props <- function (medida="ST03Q01", dat=e, columnas.pesos=grep("^rwgt",names(dat))){
  if(is.null(levels(dat[,medida]))){
    lev<-unique(dat[,medida])
  }else{
    lev<-levels(dat[,medida])
  }
  sapply(lev, function (cate) estima.prop (cate, medida=medida, dat=dat, columnas.pesos=columnas.pesos))
}

estima.prop.pura <- function (categoría, estadígrafo=prop.ponderada(categoría),
                              medida, dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (medida, dat[,pe], na.rm=TRUE))
  estima      <- estadígrafo (medida, dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  paste (signif(estima), "(", signif(d.t.estima), ")")
}

##  con pocos decimales
estima.prop.pura. <- function (categoría, estadígrafo=prop.ponderada(categoría),
                               medida, dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (medida, dat[,pe], na.rm=TRUE))
  estima      <- estadígrafo (medida, dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  round(100*estima,1)
}

estima.frec.pura <- function (categoría, estadígrafo=frec.ponderada(categoría),
                              medida, dat=e, columnas.pesos=grep("^rwgt",names(dat)))
{
  medias80    <- sapply (columnas.pesos, function (pe) estadígrafo (medida, dat[,pe], na.rm=TRUE))
  estima      <- estadígrafo (medida, dat$W_FSTUWT, na.rm=TRUE)
  varmues     <- sum ((medias80 - estima) ^ 2) / 20 # varianza muestral
  d.t.estima  <- sqrt (varmues)
  signif(estima)
}

estima.table <- function (medida1="ST03Q01", medida2="ST04Q01", dat=e, columnas.pesos=grep("^rwgt",names(dat)), ...)
{
  resul <- outer(levels(dat[,medida1]),
                 levels(dat[,medida2]),
                 Vectorize (function (cate1, cate2) estima.prop.pura (categoría=paste(cate1,cate2),
                                                                      medida=ifelse(!is.na(dat[,medida1])&!is.na(dat[,medida2]),paste(dat[,medida1],dat[,medida2]),NA),
                                                                      dat=dat, columnas.pesos=columnas.pesos)))
  dimnames (resul) <- list (levels(dat[,medida1]), levels(dat[,medida2]))
  resul
}

## con pocos decimales
estima.table. <- function (medida1="ST03Q01", medida2="ST04Q01",
                           dat=e, columnas.pesos=grep("^rwgt",names(dat)), ...)
{
  resul <- outer(levels(dat[,medida1]),
                 levels(dat[,medida2]),
                 Vectorize (function (cate1, cate2) estima.prop.pura. (categoría=paste(cate1,cate2),
                                                                       medida=ifelse(!is.na(dat[,medida1])&!is.na(dat[,medida2]),paste(dat[,medida1],dat[,medida2]),NA),
                                                                       dat=dat, columnas.pesos=columnas.pesos)))
  dimnames (resul) <- list (levels(dat[,medida1]), levels(dat[,medida2]))
  resul
}

estima.table.abs <- function (medida1="ST03Q01", medida2="ST04Q01", dat=e, columnas.pesos=grep("^rwgt",names(dat)), ...)
{
  resul <- outer(levels(dat[,medida1]),
                 levels(dat[,medida2]),
                 Vectorize (function (cate1, cate2) estima.frec.pura (categoría=paste(cate1,cate2),
                                                                      medida=paste(dat[,medida1],dat[,medida2]),
                                                                      dat=dat, columnas.pesos=columnas.pesos)))
  dimnames (resul) <- list (levels(dat[,medida1]), levels(dat[,medida2]))
  resul
}

estima.table1 <- function (medida1, medida2, dat, columnas.pesos = grep ("^rwgt", names (dat)), ...)
{
  resul <- outer(levels(dat[,medida1]),
                 levels(dat[,medida2]),
                 Vectorize (function (cate1, cate2) estima.frec.pura (categoría=paste(cate1,cate2),
                                                                      medida=paste(dat[,medida1],dat[,medida2]),
                                                                      dat=dat, columnas.pesos=columnas.pesos)))
  dimnames (resul) <- list (levels(dat[,medida1]), levels(dat[,medida2]))
  cbind (t (apply (resul, 1, function (x) x/sum(x))), N = apply (resul, 1, sum))
}

estima.table2 <- function (medida1, medida2, dat, columnas.pesos = grep ("^rwgt", names (dat)), ...)
{
  resul <- outer(levels(dat[,medida1]),
                 levels(dat[,medida2]),
                 Vectorize (function (cate1, cate2) estima.frec.pura (categoría=paste(cate1,cate2),
                                                                      medida=paste(dat[,medida1],dat[,medida2]),
                                                                      dat=dat, columnas.pesos=columnas.pesos)))
  dimnames (resul) <- list (levels(dat[,medida1]), levels(dat[,medida2]))
  rbind (apply (resul, 2, function (x) x/sum(x)), N = apply (resul, 2, sum))
}

estima.cond <- function (estadígrafo=weighted.mean, medida, dat, cond, columnas.pesos=grep("rwgt",names(dat)))
  ## estima por grupos según "cond"
{
  lista.de.listas <- by (dat, dat[cond], function (x) estima (estadígrafo=estadígrafo, medida=medida, dat=x, columnas.pesos=columnas.pesos))
  lista.de.vectores <- lapply (lista.de.listas, function (lista) {aux <- as.numeric(lista); names(aux) <- names(lista); aux})
  as.data.frame (lista.de.vectores)
}

estima.reg <- function (dep="PV1CPRO", ind=c("ST04Q01","ESCS"), dat, columnas.pesos=grep("rwgt",names(dat)))
{
  fórmula     <- as.formula (paste (dep, "~", paste (ind, collapse="+")))
  medias80    <- sapply (columnas.pesos, function (x) {dat$pesos <- dat[,x]; c (coef (reg <- lm (fórmula, data=dat, weights=pesos)), R2=summary(reg)$r.squared)})
  estima      <- c (coef (reg <- lm (fórmula, data=dat, weights=W_FSTUWT)), R2=summary(reg)$r.squared)
  varmues0    <- apply (medias80, 2, function (x) x - estima)
  varmues     <- apply (varmues0, 1, function (x) sum (x^2) / 20)
  d.t.estima  <- sqrt (varmues)
  list (estimas=estima, et=d.t.estima)
}
estima.reg.1 <- function (dep="PV1CPRO", ind=c("ST04Q01","ESCS"), dat, columnas.pesos=grep("rwgt",names(dat)))
  ## sin intercepto
{
  fórmula     <- as.formula (paste (dep, "~", paste (ind, collapse="+"), "-1"))
  medias80    <- sapply (columnas.pesos, function (x) {dat$pesos <- dat[,x];
  c (coef (reg <- lm (fórmula, data=dat, weights=pesos)),
     R2=summary(reg)$r.squared)})
  estima      <- c (coef (reg <- lm (fórmula, data=dat, weights=W_FSTUWT)), R2=summary(reg)$r.squared)
  varmues0    <- apply (medias80, 2, function (x) x - estima)
  varmues     <- apply (varmues0, 1, function (x) sum (x^2) / 20)
  d.t.estima  <- sqrt (varmues)
  list (estimas=estima, et=d.t.estima)
}

estima.vp.media <- function (medida="math.y", dat=e, columnas.pesos=grep("rwgt",names(dat)))
{
  columnas.vp <- grep (paste ("^pv.", medida, "$", sep=""), names(dat))
  #print(columnas.pesos)
  #print(columnas.vp)
  medias80x5  <- outer (columnas.pesos, columnas.vp, Vectorize (function (pe, vp) weighted.mean (dat[,vp], dat[,pe])))
  medias5vp   <- apply (dat[,columnas.vp], 2, function (x) weighted.mean (x, dat$W_FSTUWT))
  var5vp      <- apply ((medias80x5 - outer (rep(1,80), medias5vp)) ^ 2, 2, sum) / 20
  estima      <- mean (medias5vp)
  d.t.estima  <- sqrt (mean (var5vp) + 1.2 * sum ((medias5vp - estima) ^ 2) / 4)
  list (estima=estima, et=d.t.estima)
}

estima.vp <- function (estadígrafo=weighted.mean, medida="CPRO", dat=e, columnas.pesos=grep("rwgt",names(dat)))
{
  columnas.vp <- grep (paste ("^pv.", medida, "$", sep=""), names(dat))
  medias80x5  <- outer (columnas.pesos, columnas.vp, Vectorize (function (pe, vp) estadígrafo (dat[,vp], dat[,pe])))
  medias5vp   <- apply (dat[,columnas.vp], 2, function (x) estadígrafo (x, dat$W_FSTUWT))
  var5vp      <- apply ((medias80x5 - outer (rep(1,80), medias5vp)) ^ 2, 2, sum) / 20
  estima      <- mean (medias5vp)
  d.t.estima  <- sqrt (mean (var5vp) + 1.2 * sum ((medias5vp - estima) ^ 2) / 4)
  list (estima=estima, et=d.t.estima)
}

estima.vp.prop <- function (categoría=1, estadígrafo=prop.ponderada(categoría),
                            medida="mlev", dat=e, columnas.pesos=grep("rwgt",names(dat)))
{
  columnas.vp <- grep (paste("^",medida,".$",sep=""), names(dat))
  medias80x5  <- outer (columnas.pesos, columnas.vp, Vectorize (function (pe, vp) estadígrafo (dat[,vp], dat[,pe])))
  medias5vp   <- apply (dat[,columnas.vp], 2, function (x) estadígrafo (x, dat$W_FSTUWT))
  var5vp      <- apply ((medias80x5 - outer (rep(1,80), medias5vp)) ^ 2, 2, sum) / 20
  estima      <- mean (medias5vp)
  d.t.estima  <- sqrt (mean (var5vp) + 1.2 * sum ((medias5vp - estima) ^ 2) / 4)
  list (estima=estima, et=d.t.estima)
}

estima.vp.props <- function (medida="mlev", dat=e, columnas.pesos=grep("^rwgt",names(dat)))
  t(sapply(levels(as.factor(dat[,grep(paste("^",medida,".$",sep=""), names(dat))[1]])),
           function (cate) estima.vp.prop (cate, medida=medida, dat=dat, columnas.pesos=columnas.pesos)))

estima.vp.cond <- function (estadígrafo=weighted.mean, medida, dat, cond, columnas.pesos=grep("rwgt",names(dat)))
{
  lista.de.listas <- by (dat, dat[cond], function (x) estima.vp (estadígrafo=estadígrafo, medida=medida, dat=x, columnas.pesos=columnas.pesos))
  lista.de.vectores <- lapply (lista.de.listas, function (lista) {aux <- as.numeric(lista); names(aux) <- names(lista); aux})
  as.data.frame (lista.de.vectores)
}

estima.vp.cor15 <- function (estadígrafo=cor.ponderada, medida1="HISEI", medida5="CPRO", dat=e, columnas.pesos=grep("rwgt",names(dat)))
  ## correlación entre valor único y valor con plausibles
{
  columnas.vp <- grep (paste ("^pv.", medida5, "$", sep=""), names(dat))
  medias80x5  <- outer (columnas.pesos, columnas.vp,
                        Vectorize (function (pe, vp) estadígrafo (dat[,medida1], dat[,vp], dat[,pe])))
  medias5vp   <- apply (dat[,columnas.vp], 2, function (x) estadígrafo (dat[,medida1],x, dat$W_FSTUWT))
  var5vp      <- apply ((medias80x5 - outer (rep(1,80), medias5vp)) ^ 2, 2, sum) / 20
  estima      <- mean (medias5vp)
  d.t.estima  <- sqrt (mean (var5vp) + 1.2 * sum ((medias5vp - estima) ^ 2) / 4)
  list (estima=estima, et=d.t.estima)
}

estima.vp.cor55 <- function (estadígrafo=cor.ponderada, medida1="CPRO", medida2="MATH", dat=e, columnas.pesos=grep("rwgt",names(dat)))
  ## correlación entre dos medidas con valores plausibles
{
  columnas.vp1 <- grep (paste ("^pv.", medida1, "$", sep=""), names(dat))
  columnas.vp2 <- grep (paste ("^pv.", medida2, "$", sep=""), names(dat))
  medias80x5   <- outer (columnas.pesos, 1:5,
                         Vectorize (function (pe, vp) estadígrafo (dat[,columnas.vp1[vp]], dat[,columnas.vp2[vp]], dat[,pe])))

  medias5vp    <- sapply (1:5, function (x) estadígrafo (dat[,columnas.vp1[x]], dat[,columnas.vp2[x]], dat$W_FSTUWT))
  var5vp       <- apply ((medias80x5 - outer (rep(1,80), medias5vp)) ^ 2, 2, sum) / 20
  estima       <- mean (medias5vp)
  d.t.estima   <- sqrt (mean (var5vp) + 1.2 * sum ((medias5vp - estima) ^ 2) / 4)
  list (estima=estima, et=d.t.estima)
}

estima.vp.reg <- function (dep="SCIE", ind=c("ST04Q01","ESCS"), dat, columnas.pesos=grep("rwgt",names(dat)))
{
  fórmulas    <- sapply (1:5, function (i) as.formula (paste ("PV", i, dep, "~", paste (ind, collapse="+"), sep="")))
  medias80x5x <- array (NA, c (80, 5, 1 + sum (sapply (ind, function(x) ifelse(is.factor(dat[[x]]),length(levels(dat[[x]]))-1,1))) + 1))
  for (pe in 1:80) for (vp in 1:5)
    medias80x5x[pe,vp,] <- {fórmula <- fórmulas[[vp]];
    dat$pesos <- dat[,columnas.pesos[pe]];
    c (coef (reg <- lm (fórmula, data=dat, weights=pesos)),
       R2=summary(reg)$r.squared)}
  estima5vp   <- sapply (1:5, function (i) {fórmula <- fórmulas[[i]];
  c (coef (reg <- lm (fórmula, data=dat, weights=W_FSTUWT)), R2=summary(reg)$r.squared)})
  dimnames (medias80x5x) [[3]] <- dimnames (estima5vp) [[1]]
  varmues0    <- sapply (1:80, function (i) medias80x5x[i,,] - t(estima5vp), simplify="array") # valor: array 5xPx80
  var5vp      <- apply (varmues0, c(1,2), function(x) sum (x^2)/20)
  estima      <- apply (estima5vp, 1, mean)
  d.t.estima  <- sqrt (apply (var5vp, 2, mean) + 1.2 * apply ((estima5vp - estima) ^ 2, 1, sum) / 4)
  list (estimas=estima, et=d.t.estima)
}

estima.vp2.reg <- function (dep="SCIE", ind=c("ST04Q01","ESCS"), indvp=c("MATH","READ"), dat, columnas.pesos=grep("rwgt",names(dat)))
  # valores plausibles tambie'n entre las independientes
{
  fórmulas    <- sapply (1:5, function (i) as.formula (paste0 ("PV", i, dep,
                                                               "~",
                                                               paste (ind, collapse="+"),
                                                               "+",
                                                               paste0 ("PV", i, indvp, collapse="+"))))
  medias80x5x <- array (NA, c (80, 5, 1 + sum (sapply (c(ind,indvp), function(x) ifelse(is.factor(dat[[x]]),length(levels(dat[[x]]))-1,1))) + 1))
  for (pe in 1:80) for (vp in 1:5)
    medias80x5x[pe,vp,] <- {fórmula <- fórmulas[[vp]];
    dat$pesos <- dat[,columnas.pesos[pe]];
    c (coef (reg <- lm (fórmula, data=dat, weights=pesos)),
       R2=summary(reg)$r.squared)}
  estima5vp   <- sapply (1:5, function (i) {fórmula <- fórmulas[[i]];
  c (coef (reg <- lm (fórmula, data=dat, weights=W_FSTUWT)), R2=summary(reg)$r.squared)})
  dimnames (medias80x5x) [[3]] <- dimnames (estima5vp) [[1]]
  varmues0    <- sapply (1:80, function (i) medias80x5x[i,,] - t(estima5vp), simplify="array") # valor: array 5xPx80
  var5vp      <- apply (varmues0, c(1,2), function(x) sum (x^2)/20)
  estima      <- apply (estima5vp, 1, mean)
  d.t.estima  <- sqrt (apply (var5vp, 2, mean) + 1.2 * apply ((estima5vp - estima) ^ 2, 1, sum) / 4)
  list (estimas=estima, et=d.t.estima)
}

### ejemplos

## estima.media (medida="PV1CPRO", dat=e)
## estima (d.t.ponderada, medida="PV1CPRO", dat=e)
## estima (d.t.ponderada, medida="PV1CPRO", dat=subset(e,ST04Q01=="Female"))
## estima.props ("ST04Q01", e)
## estima.table ("ST04Q01", "ST05Q01", e)
## estima.table.abs ("ST04Q01", "ST05Q01", e)
## estima.table1 ("ST04Q01", "ST05Q01", e)
## estima.table2 ("ST04Q01", "ST05Q01", e)
## estima.cond (medida="PV1CPRO", dat=e, cond="ST04Q01")
## estima.cor (medidas=c("PV1CPRO","PV1MATH","PV1READ"), dat=e)
## estima.reg("BSMJ",c("ST03Q01","HISEI"),dat=deu)
## estima.vp.media ("MATH", e)
## estima.vp.media ("READ", e)
## estima.vp.media ("SCIE", e)
## estima.vp.media ("CPRO", e)
## estima.vp (d.t.ponderada, "CPRO", e)
## estima.vp.props ("mlev", dat=lev) # proporciones en "mlev" (nivel de rendimiento)
## estima.vp.cond (medida="CPRO", dat=e, cond="ST04Q01")
## estima.vp.cor15 (medida1 = c("HISEI"), medida5="SCIE", dat=bel)
knotion/PFSkit documentation built on Feb. 12, 2020, 12:16 p.m.