Primera parte: Análisis de los datos y cálculo del tamaño de una muestra inicial para aplicar un test de hipótesis sobre proporciones poblacionales.

Frecuencias originales:

# Leemos los datos, construímos un dataframe y obtenemos el número de observaciones:
data <- read_excel("datos salvador.xlsx")
data <- data.frame(data)
nrow(data)
## [1] 527575
# Obtenemos el nombre de las columnas del dataset  que cargamos:
colnames(data)
## [1] "OBJECTID"      "SAMPLE_ID"     "PLOT_ID"       "LON"          
## [5] "LAT"           "ClaveCob1Cob2"
## Obtenemos las categorias y las frecuencias de la variable nominal "ClaveCob1Cob2":
count(data, 'ClaveCob1Cob2')
##        ClaveCob1Cob2   freq
## 1       BosqueBosque 158729
## 2    BosqueNo Bosque  15397
## 3    No BosqueBosque  16901
## 4 No BosqueNo Bosque 336548
## Obtenemos los porcentajes
prop.table(table(data$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          30.086528           2.918448           3.203526          63.791499

Frecuencias en una muestra del 90% de la población:

# Removemos el 10% de las observaciones aleatoriamente:
data90 <- data[sample(NROW(data), NROW(data)*(1 - 0.1)),]         

# Para verificar calculemos el numero de observaciones:
nrow(data90)
## [1] 474817
# Despleguemos las 10 primeras observaciones:
head(data90, 10)
##        OBJECTID SAMPLE_ID PLOT_ID       LON      LAT      ClaveCob1Cob2
## 186993   186993        22    2470 -89.88773 13.84019 No BosqueNo Bosque
## 165319   165319         9    2756 -89.48168 13.87200    No BosqueBosque
## 138321   138321        11    3101 -89.82416 13.91307 No BosqueNo Bosque
## 461620   461620        10   14216 -88.43348 13.38333 No BosqueNo Bosque
## 116091   116091         1    8480 -89.17741 13.95586 No BosqueNo Bosque
## 51246     51246         6    9441 -89.25297 14.12685       BosqueBosque
## 507761   507761         3   13780 -88.44204 13.24743       BosqueBosque
## 301597   301597        22    6929 -88.89706 13.67815       BosqueBosque
## 510209   510209        19   13773 -88.50625 13.24718       BosqueBosque
## 501745   501745        20   10758 -88.78326 13.27264       BosqueBosque
# Calculemos las proporciones del nuevo dataset:
prop.table(table(data90$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          30.083379           2.926812           3.205445          63.784363

Frecuencias en una muestra del 50% de la población:

# Removemos el 50% de las observaciones aleatoriamente:
data50 <- data[sample(NROW(data), NROW(data)*(1 - 0.5)),]         

# Para verificar calculemos el numero de observaciones:
nrow(data50)
## [1] 263787
# Despleguemos las 10 primeras observaciones:
head(data50, 10)
##        OBJECTID SAMPLE_ID PLOT_ID       LON      LAT      ClaveCob1Cob2
## 11330     11330        25    5058 -89.51409 14.33253 No BosqueNo Bosque
## 211735   211735        15    2153 -89.77665 13.80571 No BosqueNo Bosque
## 379056   379056         1     237 -89.66315 13.55355 No BosqueNo Bosque
## 521001   521001        11   16077 -88.30312 13.20273 No BosqueNo Bosque
## 376257   376257        12    6263 -88.92409 13.56046       BosqueBosque
## 27439     27439        24    9984 -89.19800 14.22711 No BosqueNo Bosque
## 51348     51348         8    9445 -89.21594 14.12743 No BosqueNo Bosque
## 378669   378669        24   18394 -87.82424 13.55771       BosqueBosque
## 505611   505611        21   13816 -88.37699 13.25659       BosqueBosque
## 401845   401845         5   11599 -88.74849 13.51692    BosqueNo Bosque
# Calculemos las proporciones del nuevo dataset:
prop.table(table(data50$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          30.104213           2.920917           3.201068          63.773802

Frecuencias en una muestra del 10% de la población:

# Removemos el 90% de las observaciones aleatoriamente:
data10 <- data[sample(NROW(data), NROW(data)*(1 - 0.9)),]         

# Para verificar calculemos el numero de observaciones:
nrow(data10)
## [1] 52757
# Despleguemos las 10 primeras observaciones:
head(data10, 10)
##        OBJECTID SAMPLE_ID PLOT_ID       LON      LAT      ClaveCob1Cob2
## 161927   161927        12    8047 -88.93592 13.87668       BosqueBosque
## 59941     59941         1    9283 -89.29911 14.09930 No BosqueNo Bosque
## 37266     37266         6    9765 -89.08681 14.18256 No BosqueNo Bosque
## 404190   404190        20      51 -89.35762 13.51193 No BosqueNo Bosque
## 288726   288726         1    1159 -89.98806 13.69437       BosqueBosque
## 46955     46955        15    4505 -89.67885 14.14103 No BosqueNo Bosque
## 497756   497756        11   13881 -88.58043 13.28253 No BosqueNo Bosque
## 36915     36915         5    9751 -89.21659 14.18189 No BosqueNo Bosque
## 434410   434410        18   17644 -87.87018 13.44894 No BosqueNo Bosque
## 275603   275603         4    7127 -88.95332 13.71411       BosqueBosque
# Calculemos las proporciones del nuevo dataset:
prop.table(table(data10$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          29.939155           3.019505           3.245067          63.796273

Frecuencias en una muestra del 1% de la población:

# Removemos el 99% de las observaciones aleatoriamente:
data1 <- data[sample(NROW(data), NROW(data)*(1 - 0.99)),]         

# Para verificar calculemos el numero de observaciones:
nrow(data1)
## [1] 5275
# Despleguemos las 10 primeras observaciones:
head(data1, 10)
##        OBJECTID SAMPLE_ID PLOT_ID       LON      LAT      ClaveCob1Cob2
## 487588   487588        23   16732 -88.28499 13.31155 No BosqueNo Bosque
## 456574   456574        24   11184 -88.85792 13.39851 No BosqueNo Bosque
## 217836   217836        16    2067 -89.80414 13.79588 No BosqueNo Bosque
## 54465     54465        20    4404 -89.51182 14.11573       BosqueBosque
## 422325   422325         5   17821 -88.03694 13.47568 No BosqueNo Bosque
## 133780   133780        20    3178 -89.79641 13.92291       BosqueBosque
## 527152   527152         2   15926 -87.98950 13.16810       BosqueBosque
## 77582     77582        16    8974 -89.32596 14.04483 No BosqueNo Bosque
## 17184     17184        11   10274 -89.31940 14.29788 No BosqueNo Bosque
## 335617   335617         7   14990 -88.51812 13.62653 No BosqueNo Bosque
# Calculemos las proporciones del nuevo dataset:
prop.table(table(data1$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          30.521327           2.843602           3.260664          63.374408

Frecuencias en una muestra del 0,1% de la población:

# Removemos el 99,9% de las observaciones aleatoriamente:
data0.1 <- data[sample(NROW(data), NROW(data)*(1 - 0.999)),]         

# Para verificar calculemos el numero de observaciones:
nrow(data0.1)
## [1] 527
# Despleguemos las 10 primeras observaciones:
head(data0.1, 10)
##        OBJECTID SAMPLE_ID PLOT_ID       LON      LAT      ClaveCob1Cob2
## 225904   225904        24    1969 -89.94250 13.78559 No BosqueNo Bosque
## 329226   329226        21     736 -89.59891 13.63553 No BosqueNo Bosque
## 73857     73857        12    4096 -89.61303 14.05105 No BosqueNo Bosque
## 188584   188584        24    2432 -89.48092 13.83586 No BosqueNo Bosque
## 316107   316107        12   15076 -88.52741 13.65359       BosqueBosque
## 75867     75867        12   13392 -88.74295 14.04986 No BosqueNo Bosque
## 70151     70151        11    9083 -89.26148 14.06351 No BosqueNo Bosque
## 88292     88292        22   21018 -88.18697 14.01707       BosqueBosque
## 446137   446137        21   11280 -88.83043 13.42546 No BosqueNo Bosque
## 16029     16029         4   10284 -89.22700 14.29913       BosqueBosque
# Calculemos las proporciones del nuevo dataset:
prop.table(table(data0.1$ClaveCob1Cob2))*100
## 
##       BosqueBosque    BosqueNo Bosque    No BosqueBosque No BosqueNo Bosque 
##          27.703985           3.415560           2.656546          66.223909

Conclusión: Intuitivamente se puede concluir que una muestra del 10% no difiere en términos proporcionales significativamente de la población total (la variación oscila en torno al 0,05%). En la segunda parte de éste trabajo justificaremos ésta hipótesis aplicando test estadísticos para proporciones poblacionales obteniendo la cantidad muestral óptima para niveles de significación del 95% y 99%, con un algoritmo iterativo en R.