Dos sucesos cumplen que \(P(A^c)=0.2\), \(P(B)=0.6\), \(P(A \cup B)=0.92\).
Sabiendo que \(P(A^c)=0.2\), \(P(A)=0.8\) al haber hecho la operación 1-0.2.
Para poder calcular la intersección debemos tener en cuenta que: \(P(A\cap B)=P(A)+P(B)-P(A\cup B)\), conocemos \(P(A)=0.8\), \(P(B)=0.6\), y \(P(A\cup B)=0.92\), calculamos y obtenemos: \(P(A\cap B)=0.8+0.6-0.92=0.48\)
\(P(A / B^c)=\frac{P(A \cap B^c)}{P(B^c)}\). Sabemos que \(P(A\cap B^c)= P(A)-P(A\cap B)\), esto es: 0.8-0.48= 0.32. Ahora sí podemos calcular: \(P(A / B^c)=\frac{P(A \cap B^c)}{P(B^c)}=0.32 / (1-0.6) = 0.32 /0.4 = 0.8\)
\(P(B^c / A^c)=\frac{P(B^c \cap A^c)}{P(A^c)}\). Sabemos que \(P(B^c\cap A^c)= 1-P(A\cup B)\), esto es: 1-0.92= 0.08 Ahora sí podemos calcular: \(P(B^c / A^c)=\frac{P(B^c \cap A^c)}{P(A^c)}= 0.08 / 0.2 = 0.4\)
En una clase de programación varios alumnos han desarrollado un programa y lo han ejecutado muchas veces. Los alumnos han escogido 5 de estas ejecuciones para comprobar si el programa falla en la ejecución o no.
Siendo X una variable aleatoria discreta que es el número de ejecuciones fallidas con los valores posibles x = 0, 1, 2, 3, 4, 5.
Sabiendo que:
\(P(X=0)=0.8\) , \(P(X=1)=0.1\) , \(P(X=2)=0.04\) , \(P(X=3)=0.03\) , \(P(X=4)=0.02\) , \(P(X=5)=0.01\)
Cuestiones:
MEDIA: \(0 *P(X = 0) + 1 * P( X = 1 ) + 2* P(X = 2)+3* P(X=3)+4*P(X=4)+5*P(X=5)\)
sum(0*0.8,1*0.1,2*0.04,3*0.03,4*0.02,5*0.01)
## [1] 0.4
VARIANZA: \((0^2 *P(X = 0) + 1^2 * P( X = 1 ) + 2^2 * P(X = 2)+3^2 * P(X=3)+4^2 *P(X=4)+5^2 *P(X=5))* 0.4^2\)
sum(0^2*0.8,1^2*0.1,2^2*0.04,3^2*0.03,4^2*0.02,5^2*0.01)*sum(0*0.8,1*0.1,2*0.04,3*0.03,4*0.02,5*0.01)^2
## [1] 0.176
\(P(X\geq 2)=1 - (P(X=0) + P(X=1))\)
1-sum(0.8,0.1)
## [1] 0.1
Otra opción es sumar todas las probabilidades mayores o iguales que X=2.
\(P(X\geq 2) = P(X=2) + P(X=3) + P(X=4) + P(X=5)\)
sum(0.04,0.03,0.02,0.01)
## [1] 0.1
\(P(X\leq 2)= P(X=0) + P(X=1) + P(X=2)\)
sum(0.8,0.1, 0.04)
## [1] 0.94
\(P(X\geq 4/X>1)=\frac{P(X\geq4)}{P(X>1)}\)
sum(0.02,0.01) / sum(0.04,0.03,0.02,0.01)
## [1] 0.3
Jorge acaba de abrir una cafetería cerca del parque Abelardo de Albacete y ofrece, aparte de cafés, tés e infusiones, unas hamburguesas especiales llamadas “Brutal Burguers”.La probabilidad de que exactamente a un cliente nuevo le guste la Brutal Burguer es de 0.8. Si vienen 3 nuevos clientes a su cafetería, queremos calcular las siguientes probaibilidades:
¿P(x=2)?
Como dbninom(a,b,c) devuelve la probabilidad P(x=a), es decir, que una variable aleatoria X con distribución binomial(b=3, c=0.8) tome el valor a(en este caso 2)
dbinom(2,3,0.8)
## [1] 0.384
¿P(x>1)? Como pbinom(a,b,c) devuelve la probabilidad P(x<=a) y nos interesa saber la probabilidad de los valores que son mayores que 1, pues le restamos a 1(100% de probabilidad) la probabilidad de los valores sean menores o iguales a 1:
1 - pbinom(1,3,0.8)
## [1] 0.896
¿P(x<3)?
Como pbinom(a,b,c) devuelve la probabilidad P(x<=a) y nos interesa saber la probabilidad de los valores que son menores que 3, pues cogemos la probabilidad de que los valores sean menores o iguales a 2:
pbinom(2,3,0.8)
## [1] 0.488
¿P(x=1)?
Como dbninom(a,b,c) devuelve la probabilidad P(x=a), es decir, que una variable aleatoria X con distribución binomial(b=3, c=0.8) tome el valor a(en este caso 1)
dbinom(1,3,0.8)
## [1] 0.096
Video1
Enlace al video explicando y resolviendo los ejercicios del trabajo 1: Video Trabajo 1
Se ha creado una base de datos que recoge información acerca de las
ventas de teléfonos inteligentes o smartphones llamada
Smartphones, en ella vienen reflejadas algunas marcas y sus
distintos dispositivos vendidos, el tamaño de cada dispositivo, su
batería en mAH, su tiempo de carga, la calificación del usuario sobre 5
estrellas tras su uso y su precio de venta al público.
Aquí tenemos un resumen con los datos para que la realización del ejercicio sea lo más visual y gráfica posible, también se ha añadido una vista de toda la base de datos:
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
Smartphones <- read_excel("Smartphones.xlsx")
View(Smartphones)
summary(Smartphones)
## Marca Batería TiempodeCarga Calificación
## Min. :1.00 Min. :3700 Min. : 85.0 Min. :1.00
## 1st Qu.:2.00 1st Qu.:4025 1st Qu.:100.0 1st Qu.:3.00
## Median :3.00 Median :4300 Median :110.0 Median :4.00
## Mean :2.84 Mean :4338 Mean :112.8 Mean :3.72
## 3rd Qu.:4.00 3rd Qu.:4600 3rd Qu.:123.8 3rd Qu.:5.00
## Max. :5.00 Max. :5000 Max. :150.0 Max. :5.00
## Pulgadas Precio
## Length:50 Min. : 690.0
## Class :character 1st Qu.: 842.5
## Mode :character Median : 915.0
## Mean : 914.4
## 3rd Qu.: 980.0
## Max. :1150.0
t.test(Smartphones$TiempodeCarga[(Smartphones$Marca==1)],Smartphones$TiempodeCarga[(Smartphones$Marca==3)],var.equal = FALSE, conf.level = .97)
##
## Welch Two Sample t-test
##
## data: Smartphones$TiempodeCarga[(Smartphones$Marca == 1)] and Smartphones$TiempodeCarga[(Smartphones$Marca == 3)]
## t = -0.087437, df = 17.866, p-value = 0.9313
## alternative hypothesis: true difference in means is not equal to 0
## 97 percent confidence interval:
## -12.71105 11.80196
## sample estimates:
## mean of x mean of y
## 115.0000 115.4545
t.test(Smartphones$Precio[(Smartphones$Marca==4)],var.equal = FALSE, conf.level = .90)
##
## One Sample t-test
##
## data: Smartphones$Precio[(Smartphones$Marca == 4)]
## t = 17.234, df = 8, p-value = 1.308e-07
## alternative hypothesis: true mean is not equal to 0
## 90 percent confidence interval:
## 789.0143 979.8746
## sample estimates:
## mean of x
## 884.4444
3.Halla la media de la capacidad de la batería (mAH) de los smartphones correspondientes a la marca “2” con un nivel de confianza del 98%.
t.test(Smartphones$Batería[(Smartphones$Marca==2)],var.equal = FALSE, conf.level = .98)
##
## One Sample t-test
##
## data: Smartphones$Batería[(Smartphones$Marca == 2)]
## t = 35.897, df = 10, p-value = 6.686e-12
## alternative hypothesis: true mean is not equal to 0
## 98 percent confidence interval:
## 4027.672 4699.600
## sample estimates:
## mean of x
## 4363.636
4.Halla el intervalo de confianza al 85% para las diferencias de calificacion (máximo 5 estrellas) de las marcas “3” y “5”.
t.test(Smartphones$Calificación[(Smartphones$Marca==3)],Smartphones$Calificación[(Smartphones$Marca==5)],var.equal = FALSE, conf.level = .85)
##
## Welch Two Sample t-test
##
## data: Smartphones$Calificación[(Smartphones$Marca == 3)] and Smartphones$Calificación[(Smartphones$Marca == 5)]
## t = -0.94841, df = 15.837, p-value = 0.3572
## alternative hypothesis: true difference in means is not equal to 0
## 85 percent confidence interval:
## -1.3270957 0.3043684
## sample estimates:
## mean of x mean of y
## 3.363636 3.875000
Dos empresas producen un tipo de fibra óptica para la industria de las telecomunicaciones. Este material se someterá a condiciones extremas de transmisión de datos, por lo que es crucial comparar la capacidad de transmisión de datos del material producido por cada empresa.
Se toman 45 muestras de material de cada empresa y se someten a una prueba de transmisión de datos, donde se mide la tasa de transmisión en Gigabits por segundo (Gbps) después de transmitir datos durante 24 horas.
Para la Empresa I, la media y la desviación estándar muestral de la tasa de transmisión son x1= 40 Gbps y s1= 5 Gbps, mientras que para la Empresa J, son x2= 45 Gbps y s2= 6 Gbps. Se sabe por estudios anteriores que la distribución de la tasa de transmisión sigue una distribución aproximadamente normal.
Datos del ejercicio y resolución
x1 <- 40; #media Empresa I
s1 <- 5; #desviacionestandar Empresa I
n1 <- 45 #muestras Empresa I
x2 <- 45; #mediaEmpresa J
s2 <- 6; #desviacion estandar Empresa J
n2 <- 45 #muestras Empresa J
# Ejercicio 1
t.test(x = rnorm(n1, mean = x1, sd = s1), y = rnorm(n2, mean = x2, sd = s2), alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: rnorm(n1, mean = x1, sd = s1) and rnorm(n2, mean = x2, sd = s2)
## t = -6.1936, df = 86.46, p-value = 1.923e-08
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -10.11564 -5.20018
## sample estimates:
## mean of x mean of y
## 38.42266 46.08057
# Ejercicio 2
t.test(x = rnorm(n1, mean = x1, sd = s1), y = rnorm(n2, mean = x2, sd = s2), conf.level = 0.95)$conf.int
## [1] -6.762215 -2.427969
## attr(,"conf.level")
## [1] 0.95
# Ejercicio 3
t.test(x = rnorm(n1, mean = x1, sd = s1), y = rnorm(n2, mean = x2, sd = s2), var.equal = TRUE, conf.level = 0.99)$conf.int
## [1] -6.667933 -1.139260
## attr(,"conf.level")
## [1] 0.99
#Ejercicio 4
t.test(x = rnorm(n1, mean = x1, sd = s1), y = rnorm(n2, mean= x2, sd = s2), alternative = "two.sided", conf.level = 0.95)
##
## Welch Two Sample t-test
##
## data: rnorm(n1, mean = x1, sd = s1) and rnorm(n2, mean = x2, sd = s2)
## t = -3.5858, df = 83.673, p-value = 0.0005642
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -6.982048 -2.000323
## sample estimates:
## mean of x mean of y
## 39.54165 44.03283
El departamento de programación de la ESII afirma que el tiempo promedio que sus alumnos tardan en completar un trabajo de la asignatura de programación es de 20 horas. Para verificar esta afirmación, se selecciona una muestra aleatoria de 28 trabajos y se registra el tiempo que tardan los alumnos en completarlos. La media de tiempo de la muestra es de 22 horas, con una desviación estándar de 4 horas.
Para determinar si la afirmación del departamento de programación sigue siendo válida, planteamos el siguiente contraste:
H0: μ = 20 (el tiempo promedio es de 20 horas)
H1: μ ≠ 20 (el tiempo promedio no es de 20 horas)
Tomamos α = 0.05
# Datos para hacer el contraste
mediaMuestra = 22 #Tenemos que la media de horas de la muestra es 22
n = 28 # Número de elementos de la muestra
desviacionEstandar = 4
mediaHipotesis = 20
#Conocida la desviación estándar y sabiendo que n(muestra) < 30 usamos la siguiente expresión:
zs = (mediaMuestra-mediaHipotesis)/(desviacionEstandar/sqrt(n))
zs
## [1] 2.645751
# Estamos ante un test bilateral, siendo así que p-valor se calcula como tal y como sigue:
t=abs(zs)
p_valor = 2*(1-pnorm(t))
p_valor
## [1] 0.008150972
Como p-valor es menor que 0.05 (nivel de significación) podemos decir que se rechaza la hipótesis nula (H0). Por tanto, la afirmación del departamento de programación no sigue siendo válida, ya que no se puede asegurar que la media de horas empleadas para hacer el trabajo sea de 20 horas.
Video2
Enlace al video explicando y resolviendo los ejercicios del trabajo 2: Video Trabajo 2
Una determinada marca de coches está intentando reducir el tiempo que sus coches tardan en alcanzar los 100 km/h. Las últimas mediciones indican que la media de estos coches está en 4 s, sin embargo, se han llevado a cabo una serie de modificaciones para mejorar esos registros. Para ello se han hecho 44 mediciones en las que se ha obtenido una media de 3.6 s y una desviación típica de 0.5 s. ¿Realmente se habrá reducido el tiempo para alcanzar dicha velocidad?
# Primero debemos establecer cuál es la hipótesis nula H0, en este caso sería que la tardanza hasta alcanzar los 100 km/h es de 4 segundos. Por tanto H1: el tiempo es menor de 4 segundos.
# Ahora debemos establecer todos los datos:
x = 3.6
mu = 4
s = 0.5
n = 44
zs = (x-mu)/(s/sqrt(n))
zs
## [1] -5.3066
# p-valor = P(z < zs)
zs = -5.3066
p_valor = pnorm(zs)
p_valor
## [1] 5.584445e-08
p_valor < 0.05, por lo que rechazamos la hipótesis nula de que el
tiempo = 4 segundos. Por tanto, podemos afirmar que se reduce el tiempo
para alcanzar dicha velocidad
# Estamos ante una binomial, debemos tener en cuenta de que si hay la misma probabilidad de aumentar que de reducir, el parametro será 0.5
dbinom(5,13,0.5)
## [1] 0.1571045
Se ha llevado a cabo un estudio para comparar la efectividad de cuatro métodos de enseñanza diferentes en un colegio. Se seleccionaron al azar cuatro grupos de estudiantes y a cada grupo se le aplicó un método de enseñanza distinto durante un semestre. Al final del semestre, se evaluó el rendimiento de los estudiantes con una prueba estandarizada.
Datos recogidos (puntuaciones en la prueba):
Metodo A: 78, 85, 82, 88, 75, 80
Metodo B: 90, 92, 91, 89, 87, 88
Metodo C: 70, 72, 68, 75, 70, 69
Metodo D: 83, 80, 84, 86, 85, 82
Primero introducimos en un datraframe los datos del ejercicio y creamos dos columnas(una con el metodo y otra con el valor)
metodo_A <- c(78, 85, 82, 88, 75, 80)
metodo_B <- c(90, 92, 91, 89, 87, 88)
metodo_C <- c(70, 72, 68, 75, 70, 69)
metodo_D <- c(83, 80, 84, 86, 85, 82)
datos <- data.frame(
Valor = c(metodo_A, metodo_B, metodo_C, metodo_D),
Metodo = factor(rep(c('A', 'B', 'C', 'D'), each=6))
)
print(datos)
## Valor Metodo
## 1 78 A
## 2 85 A
## 3 82 A
## 4 88 A
## 5 75 A
## 6 80 A
## 7 90 B
## 8 92 B
## 9 91 B
## 10 89 B
## 11 87 B
## 12 88 B
## 13 70 C
## 14 72 C
## 15 68 C
## 16 75 C
## 17 70 C
## 18 69 C
## 19 83 D
## 20 80 D
## 21 84 D
## 22 86 D
## 23 85 D
## 24 82 D
shapiro.test(datos$Valor[datos$Metodo == "A"]);
##
## Shapiro-Wilk normality test
##
## data: datos$Valor[datos$Metodo == "A"]
## W = 0.99029, p-value = 0.9899
shapiro.test(datos$Valor[datos$Metodo == "B"]);
##
## Shapiro-Wilk normality test
##
## data: datos$Valor[datos$Metodo == "B"]
## W = 0.98189, p-value = 0.9606
shapiro.test(datos$Valor[datos$Metodo == "C"]);
##
## Shapiro-Wilk normality test
##
## data: datos$Valor[datos$Metodo == "C"]
## W = 0.91107, p-value = 0.4435
shapiro.test(datos$Valor[datos$Metodo == "D"]);
##
## Shapiro-Wilk normality test
##
## data: datos$Valor[datos$Metodo == "D"]
## W = 0.98259, p-value = 0.9637
summary(datos$Valor);
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 68.00 75.00 82.50 81.21 87.25 92.00
Gráfico de caja
boxplot(Valor ~ Metodo, data = datos, main="Gráficos de Caja por Método de Enseñanza");
resultado_anova <- aov(Valor ~ Metodo, data = datos)
summary(resultado_anova);
## Df Sum Sq Mean Sq F value Pr(>F)
## Metodo 3 1106.5 368.8 40.2 1.17e-08 ***
## Residuals 20 183.5 9.2
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
En un laboratorio de investigación de materiales, se ha realizado un experimento para estudiar la velocidad de corrosión del hierro. Se midió el grosor de la capa de corrosión (en micrómetros) de las muestras de hierro a diferentes tiempos de exposición (medido en días).
Los datos recolectados son:
tiempo_de_exposicion <- c(1,1.5,2,2.5,3,3.5,4,4.5,5,5.5)
grosor_de_capa <- c(10,15,22,30,38,45,50,55,60,65)
summary(lm(grosor_de_capa~tiempo_de_exposicion))
##
## Call:
## lm(formula = grosor_de_capa ~ tiempo_de_exposicion)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4182 -1.1848 -0.1848 1.2636 2.8424
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.0485 1.4586 -1.404 0.198
## tiempo_de_exposicion 12.6303 0.4105 30.767 1.35e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.864 on 8 degrees of freedom
## Multiple R-squared: 0.9916, Adjusted R-squared: 0.9906
## F-statistic: 946.6 on 1 and 8 DF, p-value: 1.353e-09
La recta de regresión es: \(-2.0485 + 12.6303 * T\)
Asumiendo T como el tiempo de exposición
nuevo_tiempo <- data.frame(tiempo_de_exposicion = seq(6,8))
predict(lm(grosor_de_capa~tiempo_de_exposicion),nuevo_tiempo)
## 1 2 3
## 73.73333 86.36364 98.99394
correlacion_lineal = cor(tiempo_de_exposicion, grosor_de_capa)
correlacion_lineal
## [1] 0.995801
plot(tiempo_de_exposicion, grosor_de_capa)
El coeficiente de correlación (0.996) está muy próximo a 1 por tanto se puede afirmar que entre ambos parámetros existe una correlación lineal fuerte. Analizando la gráfica de la relación también podemos llegar a esa conclusión puesto que los valores se ajustan a una recta de pendiente positiva.
El p-valor obtenido del analísis realizado en el apartado 1 es: 1.353e-09
Cómo el p-valor es menor que el nivel de significación (0.05), podemos afirmar con evidencia estadísitica que la pendiente de la recta SÍ es distinta de 0.
library(readr)
## Warning: package 'readr' was built under R version 4.3.3
netflix_titles <- read_csv("C:/Users/alexg/Downloads/archive/netflix_titles.csv")
## New names:
## Rows: 8809 Columns: 26
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (11): show_id, type, title, director, cast, country, date_added, rating,... dbl
## (1): release_year lgl (14): ...13, ...14, ...15, ...16, ...17, ...18, ...19,
## ...20, ...21, ......
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...13`
## • `` -> `...14`
## • `` -> `...15`
## • `` -> `...16`
## • `` -> `...17`
## • `` -> `...18`
## • `` -> `...19`
## • `` -> `...20`
## • `` -> `...21`
## • `` -> `...22`
## • `` -> `...23`
## • `` -> `...24`
## • `` -> `...25`
## • `` -> `...26`
View(netflix_titles)
#Visualizamos las primeras filas de la base de datos:
head(netflix_titles)
## # A tibble: 6 × 26
## show_id type title director cast country date_added release_year rating
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <chr>
## 1 s1 Movie Dick Jo… Kirsten… <NA> United… September… 2020 PG-13
## 2 s2 TV Show Blood &… <NA> Ama … South … September… 2021 TV-MA
## 3 s3 TV Show Ganglan… Julien … Sami… <NA> September… 2021 TV-MA
## 4 s4 TV Show Jailbir… <NA> <NA> <NA> September… 2021 TV-MA
## 5 s5 TV Show Kota Fa… <NA> Mayu… India September… 2021 TV-MA
## 6 s6 TV Show Midnigh… Mike Fl… Kate… <NA> September… 2021 TV-MA
## # ℹ 17 more variables: duration <chr>, listed_in <chr>, description <chr>,
## # ...13 <lgl>, ...14 <lgl>, ...15 <lgl>, ...16 <lgl>, ...17 <lgl>,
## # ...18 <lgl>, ...19 <lgl>, ...20 <lgl>, ...21 <lgl>, ...22 <lgl>,
## # ...23 <lgl>, ...24 <lgl>, ...25 <lgl>, ...26 <lgl>
local({r <- getOption("repos")
r["CRAN"] <- "https://cran.rstudio.com/"
options(repos=r)
})
install.packages(c("dplyr", "ggplot2"))
## Installing packages into 'C:/Users/alexg/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'dplyr' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'dplyr'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problema al copiar
## C:\Users\alexg\AppData\Local\R\win-library\4.3\00LOCK\dplyr\libs\x64\dplyr.dll
## a C:\Users\alexg\AppData\Local\R\win-library\4.3\dplyr\libs\x64\dplyr.dll:
## Permission denied
## Warning: restored 'dplyr'
## package 'ggplot2' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\alexg\AppData\Local\Temp\Rtmp8exsc0\downloaded_packages
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# Filtramos los datos para obtener solo shows de TV de Estados Unidos y España
shows_us_spain <- netflix_titles %>%
filter(type == "TV Show" & (country == "United States" | country == "Spain"))
# Gráfico de barras comparativo de shows de TV entre Estados Unidos y España
ggplot(shows_us_spain, aes(x = country, fill = country)) +
geom_bar() +
labs(title = "Comparación de shows de TV entre Estados Unidos y España",
x = "País",
y = "Número de shows de TV") +
scale_fill_manual(values = c("United States" = "skyblue", "Spain" = "orange"))
Compararemos el número de TV Shows que se han realizado en diferentes paises europeos escogidos al azar en diferentes años. Con esta comparacion estudiaremos si hay alguna diferencia significativa entre las cantidades de TV Shows realizados en estos paises en el año 2019 y 2020 para ver cuanto pudo afectar o benfeficiar la pandemia a estas producciones y su popularidad.
Teniendo en cuenta que la cantidad de TV Shows por año no sigue una distribucion normal, que las muestras son de 10 paises europeos aleatorios y que se trata de dos muestras emparejadas, utilizamos un test no parametrico, la prueba de los signos.
A continuacion vamos a representar la cantidad de TV Shows por pais y año en una tabla:
library(knitr)
# Insertamos los valores obtenidos del banco de datos.
data<- data.frame(
Pais = c("España","Francia","Italia","Alemania","Austria","Noruega","Suecia","Dinamarca","Belgica","Polonia"),
Año_2019 = c(17,15,1,5,10,1,3,3,3,2),
Año_2020 = c(17,23,20,9,20,0,2,7,2,2)
)
tabla<-kable(data, caption = "Número de TV Shows presentados en cada País en NETFLIX")
tabla
| Pais | Año_2019 | Año_2020 |
|---|---|---|
| España | 17 | 17 |
| Francia | 15 | 23 |
| Italia | 1 | 20 |
| Alemania | 5 | 9 |
| Austria | 10 | 20 |
| Noruega | 1 | 0 |
| Suecia | 3 | 2 |
| Dinamarca | 3 | 7 |
| Belgica | 3 | 2 |
| Polonia | 2 | 2 |
Las hipotesis que se plantean son las siguientes:
Hipótesis nula: La mediana de las diferencias es igual a 0. (H0 = 0)
Hipótesis alternativa: La mediana de las diferencias es diferente a 0. (H1 ≠ 0)
Utilizamos un nivel de significacion con valor de 0.05. (α = 0.05)
Calculamos el valor del estadístico, para ello comprobamos cuantos positivos y cuantos negativos hay, y nos quedamos con el valor maximo:
Año_2019 = c(17,15,1,5,10,1,3,3,3,2)
Año_2020 = c(17,23,20,9,20,0,2,7,2,2)
Positivos <- sum((Año_2019-Año_2020)>0)
Negativos <- sum((Año_2019-Año_2020)<0)
print("Positivos")
## [1] "Positivos"
Positivos
## [1] 3
print("-------------")
## [1] "-------------"
print("")
## [1] ""
print("Negativos")
## [1] "Negativos"
Negativos
## [1] 5
print('-------------')
## [1] "-------------"
print("")
## [1] ""
print("Máximo entre ambos")
## [1] "Máximo entre ambos"
max(Positivos,Negativos)
## [1] 5
Las funciones “sum” nos indican que hay 3 positivos y 5 negativos, y la funcion “max” nos indica que el máximo es 5. Por lo tanto, nuestro “Bs”(valor estadístico) es 5.
Ahora calculamos el umbral para compararlo con el valor del estadistico y poder tomar una decision:
# Calcular el umbral (Bα/2)
qbinom(1-(0.05/2),10,0.5)
## [1] 8
Con la función anterior hemos calculado el ubmral (Bα/2) que en concreto es 8.
Tenemos finalmente (Bs) < (Bα/2), siendo así que no hay suficiente evidencia estadística para rechazar la hipotesis nula.
No se ha encontrado una diferencia significativa entre la cantidad de TV Shows en la muestra de 10 paises aleatorios entre 2019 y 2020.
Vamos a realizar un gráfico que permita comparar de forma visual los datos con los que hemos realizado el contraste.
# Cargamos la biblioteca
library(ggplot2)
# Datos
x <- c("España","Francia","Italia","Alemania","Austria","Noruega","Suecia","Dinamarca","Belgica","Polonia")
y <- data.frame(
Año_2019 = c(17,15,1,5,10,1,3,3,3,2),
Año_2020 = c(17,23,20,9,20,0,2,7,2,2)
)
# Convertimos los datos a formato largo
datos_largos <- tidyr::pivot_longer(y, everything(), names_to = "Año", values_to = "Valor")
# Añadimos la columna de países
datos_largos$País <- rep(x, each = 2)
# Creamos el gráfico
ggplot(datos_largos, aes(fill=Año, y=Valor, x=País)) +
geom_bar(position="dodge", stat="identity") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = "País", y = "Valor", fill = "Año")
Gracias a este gráfico podemos deducir los países que han aumentado significativamente su aportación a Netflix y los que han disminuido su aportación.
En general los países han mantenido su aportación a Netflix a pesar de la pandemia aunque hay algunos que han aumentado su aportación
VIDEO: https://youtu.be/KSfxArQ1fY4