Muestreo Estadístico

Práctica 3. Poblaciones y muestras.

Objetivos

Calcular parámetros poblacionales y estadísticos muestrales con R Seleccionar una muestra aleatoria simple con R.

Ejercicio 1: Una ciudad tiene cinco hospitales, que llamaremos H1, H2, H3, H4 y H5. El número de camas de cada hospital es:

a. Abrid el R y entrad los datos anteriores. Esto puede hacerse como sigue

Hospital <- factor(paste("H",1:5,sep = ""))
Hospital
## [1] H1 H2 H3 H4 H5
## Levels: H1 H2 H3 H4 H5
Nro.camas <- c(160, 220, 850, 510, 110)
Nro.camas
## [1] 160 220 850 510 110
Datos <- data.frame(Hospital, Nro.camas)
Datos
##   Hospital Nro.camas
## 1       H1       160
## 2       H2       220
## 3       H3       850
## 4       H4       510
## 5       H5       110

b. Calculad la media y la desviación típica (poblacionales) del número de camas.

MediaPoblacional <- mean(Nro.camas)
MediaPoblacional
## [1] 370

.

desviacion.pob <- function(x){
  sqrt(sum((x-mean(x))^2/length(x)))}
SDPoblacional <- desviacion.pob(Nro.camas)
SDPoblacional^2
## [1] 76840

c.Con el Bloc de notas, o con el editor que queráis, haced un fichero ASCII que se llame, por ejemplo,muestras.dat, con todas las muestras sin reposición de 2 elementos

choose(5,2)
## [1] 10
library(gtools)
muestras.sin.reem <- combinations(length(Nro.camas), 2, Nro.camas, set = F)
muestras.sin.reem
##       [,1] [,2]
##  [1,]  160  220
##  [2,]  160  850
##  [3,]  160  510
##  [4,]  160  110
##  [5,]  220  850
##  [6,]  220  510
##  [7,]  220  110
##  [8,]  850  510
##  [9,]  850  110
## [10,]  510  110

d. Leed el fichero anterior como un data frame; pongamos que se llama muestras.

e. Construid variables con la media y la varianza de cada muestra. Si la media se llama, por ejemplo, xmed, entonces se puede ampliar el data frame con la instrucción

colnames(muestras.sin.reem) <- paste("Elemento", 1:ncol(muestras.sin.reem), sep = "")
rownames(muestras.sin.reem) <- paste("Muestra", 1:nrow(muestras.sin.reem), sep = " ")
muestras.sin.reem
##            Elemento1 Elemento2
## Muestra 1        160       220
## Muestra 2        160       850
## Muestra 3        160       510
## Muestra 4        160       110
## Muestra 5        220       850
## Muestra 6        220       510
## Muestra 7        220       110
## Muestra 8        850       510
## Muestra 9        850       110
## Muestra 10       510       110
medias.muestrales <- rowMeans(muestras.sin.reem)
medias.muestrales
##  Muestra 1  Muestra 2  Muestra 3  Muestra 4  Muestra 5  Muestra 6  Muestra 7 
##        190        505        335        135        535        365        165 
##  Muestra 8  Muestra 9 Muestra 10 
##        680        480        310
muestras.sin.reem <- as.data.frame(cbind(muestras.sin.reem, medias.muestrales))
muestras.sin.reem
##            Elemento1 Elemento2 medias.muestrales
## Muestra 1        160       220               190
## Muestra 2        160       850               505
## Muestra 3        160       510               335
## Muestra 4        160       110               135
## Muestra 5        220       850               535
## Muestra 6        220       510               365
## Muestra 7        220       110               165
## Muestra 8        850       510               680
## Muestra 9        850       110               480
## Muestra 10       510       110               310

f. Calculad la esperanza y la varianza de la media muestral (atención: el mismo comentario con n)

mean(muestras.sin.reem$medias.muestrales)
## [1] 370
desviacion.pob(muestras.sin.reem$medias.muestrales)^2
## [1] 28815

g. Comprobad que.

h. Comprobad que.

Ejercicio 2

b. ¿Cuántas muestras (sin reposición) de tamaño n = 4 hay?

choose(5,4)

Se pueden obtener 5 muestras sin reposición de tamaño 2.

library(gtools) muestras.sin.reem <- combinations(length(Nro.camas), 4, Nro.camas, set = F) muestras.sin.reem

c. Para cada muestra calculad la media del número de camas.

colnames(muestras.sin.reem) <- paste(“Elemento”, 1:ncol(muestras.sin.reem), sep = ““) rownames(muestras.sin.reem) <- paste(”Muestra”, 1:nrow(muestras.sin.reem), sep = ” “) muestras.sin.reem

medias.muestrales <- rowMeans(muestras.sin.reem) medias.muestrales

muestras.sin.reem <- as.data.frame(cbind(muestras.sin.reem, medias.muestrales)) muestras.sin.reem

d. Supongamos que todas las muestras tienen igual probabilidad de salir. Calculad la media y la varianza de

la media muestral. Nota: Para calcular estos números no hace falta que busquéis la distribución de la

media muestral (Cuadro 3): podéis utilizar directamente

mean(muestras.sin.reem$medias.muestrales)

desviacion.pob(muestras.sin.reem$medias.muestrales)^2

2. Continuamos con el data frame anterior, y vamos a hacer el problema 3 de la lista

a. Calculad el total poblacional t y los totales de cada muestra T .

total <- sum(Nro.camas)
total
## [1] 1850

b. Calculad la esperanza y la varianza del total muestral. ¿Se cumple E[T ] = t?

library(gtools)
muestras.sin.reem <- combinations(length(Nro.camas), 2, Nro.camas, set = F)
muestras.sin.reem
##       [,1] [,2]
##  [1,]  160  220
##  [2,]  160  850
##  [3,]  160  510
##  [4,]  160  110
##  [5,]  220  850
##  [6,]  220  510
##  [7,]  220  110
##  [8,]  850  510
##  [9,]  850  110
## [10,]  510  110
colnames(muestras.sin.reem) <- paste("Elemento", 1:ncol(muestras.sin.reem), sep = "")
rownames(muestras.sin.reem) <- paste("Muestra", 1:nrow(muestras.sin.reem), sep = " ")
muestras.sin.reem
##            Elemento1 Elemento2
## Muestra 1        160       220
## Muestra 2        160       850
## Muestra 3        160       510
## Muestra 4        160       110
## Muestra 5        220       850
## Muestra 6        220       510
## Muestra 7        220       110
## Muestra 8        850       510
## Muestra 9        850       110
## Muestra 10       510       110
totales.muestrales <- rowSums(muestras.sin.reem)
totales.muestrales
##  Muestra 1  Muestra 2  Muestra 3  Muestra 4  Muestra 5  Muestra 6  Muestra 7 
##        380       1010        670        270       1070        730        330 
##  Muestra 8  Muestra 9 Muestra 10 
##       1360        960        620
muestras.sin.reem <- as.data.frame(cbind(muestras.sin.reem, totales.muestrales))
muestras.sin.reem
##            Elemento1 Elemento2 totales.muestrales
## Muestra 1        160       220                380
## Muestra 2        160       850               1010
## Muestra 3        160       510                670
## Muestra 4        160       110                270
## Muestra 5        220       850               1070
## Muestra 6        220       510                730
## Muestra 7        220       110                330
## Muestra 8        850       510               1360
## Muestra 9        850       110                960
## Muestra 10       510       110                620
media.totales <- mean(muestras.sin.reem$totales.muestrales)
media.totales
## [1] 740
var.totales <- desviacion.pob(muestras.sin.reem$totales.muestrales)^2
var.totales
## [1] 115260
n=2
totales.muestrales_corr <- length(Nro.camas)/n*totales.muestrales
totales.muestrales_corr
##  Muestra 1  Muestra 2  Muestra 3  Muestra 4  Muestra 5  Muestra 6  Muestra 7 
##        950       2525       1675        675       2675       1825        825 
##  Muestra 8  Muestra 9 Muestra 10 
##       3400       2400       1550
media.totales_corr <- mean(totales.muestrales_corr)
media.totales_corr
## [1] 1850
desviacion.pob(totales.muestrales_corr)^2
## [1] 720375