Uso de la librería “Mosaic”

Lugares extraños del mundo.

Coordenadas cuyos lugares tienen alguna particularidad por su vista satelital.

  • Punto de mira gigante: Estas extrañas marcas son “cuadros de visión” para los aviones, más conocidas como los objetivos de calibración de fotografías aéreas.

  • Isla del amor: Se llama Galesnjak y forma parte del pequeño archipiélago Skoljici, situado al sur del puerto de Zadar, en la bella Costa Dálmata.

La isla está deshabitada y es de propiedad privada, pero la ley de costas croata establece que una parte de las playas son siempre de bien público, por lo que todo el mundo puede disfrutar de la ‘Isla del Amor’.

  • Campo petrolífico: Este campo petrolífero se encuentra surcado por oleoductos y carreteras para mover el crudo de un lugar a otro. Eso hace que visto desde arriba tenga gran aspecto.

  • Asia central, en un rincón aislado de Kazajistán, han encontrado una gran estrella de cinco puntas rodeada por un círculo de 366 metros de diámetro.

Lo que ahora Google Maps indica que es una simple ‘estrella roja soviética’, antes decía que se situaba un restaurante barbacoa de carne humana, un punto que se llamaba Adam y otro punto que señalaba un campamento de verano sin terminar.

library(mosaic)
Coor=data.frame("Nombre del lugar"=as.character(c("punto de mira",
     "isla romántica","Campo petrolífico","Estrella roja")),
                "Latitud"=c(37.563936, 43.584190, -37.391606,52.2846506),
                "Longitud"=c(-116.85123,15.230065,-68.101642, 62.1170002))

positions=Coor[,c(2,3)]; positions
##     Latitud   Longitud
## 1  37.56394 -116.85123
## 2  43.58419   15.23006
## 3 -37.39161  -68.10164
## 4  52.28465   62.11700
leaflet_map(pos=positions,mark=TRUE)

Asignación propuesta.

Descripción del problema.

Para esta asignación se generan dos muestras aleatorias de tamaño 5000, se grafican estas muestras en un plano donde se dibuja una elipse con eje mayor 3 y eje menor 2. Se debe calcular el porcentaje de puntos que caen dentro, estimar el área de dicha elipse sin utilizar la fórmula geométrica del área, además se deben resaltar los puntos que se encuentran dentro de la elipse de color rojo y finalmente estimar el valor de \(\pi\).

Gráfica del ejercicio.

Con ayuda de la función filter del paquete DPLYR se toman los valores que están dentro del dominio y rango de la elipse, en este caso el dominio es la primera muestra aleatoria guardada en un vector A con valores entre 3 y 9,y el rango son los valores del vector B que se encuentran por debajo de la curva \(\sqrt(1-\frac{(a_i-6)^2}{9})*4+6\) y por encima de la curva \(-\sqrt(1-\frac{(a_i-6)^2}{9})*4+6\) donde \(a_i\) son los valores del vector A, estas curvas estan dadas por la forma canónica de la elipse: \[\frac{(x-6)^2}{3^2}+\frac{(y-6)^2}{2^2}=1\]

library(tidyverse)
set.seed(50)
n=5000                                      #Cantidad de datos.
y2=function(x){sqrt((1-((x-6)^2/9))*4)+6}   #Función de la elipse para y > 6.
y3=function(x){-sqrt((1-((x-6)^2/9))*4)+6}  #Función de la elipse para y < 6.
A=runif(n,2,10)                     #5000 muestras aleatorias con distribución uniforme.
B=runif(n,2,10)                     #5000 muestras aleatorias con distribución uniforme.
df=as.data.frame(cbind(A,B))        #dataframe formado por dos muestras aleatorias
plot(df,cex=0.4)  #Gráfica de parejas aleatorias formadas por las dos muestras.
points(6,6,cex=2,col="blue",pch=16) #Centro de la elipse.
curve(expr=y2(x),3,9,add = TRUE)    #Parte superior de la elipse.
curve(expr=y3(x),3,9,add = TRUE)    #Parte inferior de la elipse.
#Matriz de parejas ordenadas que representan los puntos dentro de la elipse
dent.eli= df %>% filter(A >3 & A<9) %>% filter(B< sqrt((1-((A-6)^2/9))*4)+6 & 
                                       B > -sqrt((1-((A-6)^2/9))*4)+6)
#Se colorean de rojo los puntos dentro de la elipse.
points(dent.eli[,1],dent.eli[,2],col="red",pch=16,cex=0.4)

Aproximación del área de la elipse y demás cálculos.

El número de filas de la matriz de parejas ordenadas llamada en el punto anterior como dent.eli indica la cantidad de puntos que se encuentran dentro de la elipse, al tener que son 5000 puntos en total se puede calcular el porcentaje de puntos dentro de la elipse.

num.p.el=nrow(dent.eli)
num.p.el                #Número de puntos dentro de la elipse.
## [1] 1505
porc.p=(num.p.el/n)*100
porc.p                  #Porcentaje de puntos dentro se la elipse 30.1%.
## [1] 30.1

hay 1505 puntos dentro de la elipse lo que representa un 30.1% de los puntos totales.

Como el área total es un cuadrado de 8x8 y tenemos la proporción de la elipse se calcula el área de esta.

area.tot=(10-2)*(10-2)
area.tot                #Área total donde su ubican los puntos.
## [1] 64
area.el=area.tot*(num.p.el/5000)
area.el                 #Área que ocupa la elipse.
## [1] 19.264

el área aproximada de la elipse es 19.264, ahora con la fórmula geométrica \(A_{elipse}=2*3*\pi=18.85\) el área real de la elipse es 18.85.

Por último se estima el valor de \(\pi\).

\[\pi_{estimado}=\frac{19.264}{2*3}=3.21\]