punto 2.1

x = c(1,3,5,7,9)
x
## [1] 1 3 5 7 9
y=c(2,4,6,7,11,12)
y
## [1]  2  4  6  7 11 12
x + 1
## [1]  2  4  6  8 10
y*2
## [1]  4  8 12 14 22 24
length(x)
## [1] 5
length(y)
## [1] 6
z= x+y
## Warning in x + y: longitud de objeto mayor no es múltiplo de la longitud de uno
## menor
z
## [1]  3  7 11 14 20 13
sum(x>5)
## [1] 2
sum(x[x>5])
## [1] 16
sum(x>5 | x<3)
## [1] 3
y[2]
## [1] 4
y[-2]
## [1]  2  6  7 11 12
y[x]
## [1]  2  6 11 NA NA
  1. que significa NA?

“NA” representa un valor faltante o no disponible.

y[y>=8]
## [1] 11 12

punto 2.2

millas = c(65241, 65665, 65998, 66014, 66547, 66857, 67025, 67447, 66958, 67002)
millas
##  [1] 65241 65665 65998 66014 66547 66857 67025 67447 66958 67002
kms = (millas * 1.609)
kms
##  [1] 104972.8 105655.0 106190.8 106216.5 107074.1 107572.9 107843.2 108522.2
##  [9] 107735.4 107806.2
dif1 =  diff (millas)
dif1
## [1]  424  333   16  533  310  168  422 -489   44
dif2 =  diff (kms)
dif2
## [1]  682.216  535.797   25.744  857.597  498.790  270.312  678.998 -786.801
## [9]   70.796
resumir1=   summary(millas)
resumir2 = summary(kms)

resumir1
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   65241   66002   66702   66475   66991   67447
resumir2
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  104973  106197  107324  106959  107789  108522

punto 2.3

pagos = c(47, 32, 40, 36, 49, 31, 49, 30, 49, 35, 48, 32)
meses = c("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")
sum(pagos)
## [1] 478
 promedio= mean(pagos)
cat("el promedio pago mensual fue:", promedio)
## el promedio pago mensual fue: 39.83333
minima=min(pagos)
cat("la cantidad minima pagada fue:", minima, "euros")
## la cantidad minima pagada fue: 30 euros
maxima=max(pagos)
cat("la cantidad maxima pagada fue:", maxima, "euros")
## la cantidad maxima pagada fue: 49 euros
meses_de_pago =  paste(meses, ":", pagos)
cat("Los pagos mensuales fueron:\n")
## Los pagos mensuales fueron:
print(meses_de_pago)
##  [1] "Enero : 47"      "Febrero : 32"    "Marzo : 40"      "Abril : 36"     
##  [5] "Mayo : 49"       "Junio : 31"      "Julio : 49"      "Agosto : 30"    
##  [9] "Septiembre : 49" "Octubre : 35"    "Noviembre : 48"  "Diciembre : 32"
sum(pagos>40)
## [1] 5
gasto= (sum(pagos[pagos > 40]) / sum(pagos)) * 100
cat("El porcentaje del gasto total que representa pagar más de 40 euros es:", gasto, "%\n")
## El porcentaje del gasto total que representa pagar más de 40 euros es: 50.62762 %

punto 2.4

datos = c(61, 88, 73, 49, 41, 72, 99, 07, 12, 13, 87, 91, 05, 17, 97 )
pie(datos,col = rainbow(length(datos)))

b)

resum_d = summary(datos)
resum_d
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    5.00   15.00   61.00   54.13   87.50   99.00
five = fivenum(datos)
five
## [1]  5.0 15.0 61.0 87.5 99.0
  1. ¿Qué diferencias hay entre summary(x) y fivenum(x)?
    summary(x): Proporciona un resumen más detallado de los datos, incluyendo la media, los cuartiles, minimo, maximo y otros datos estadísticos. fivenum(x): Proporciona un resumen más conciso sobre los cuartiles. Es útil para obtener una rápida comprensión de la distribución de los datos y es menos susceptible a valores extremos que la media y la desviación estándar.

punto 2.5

arreglo = rnorm(100)
arreglo
##   [1]  2.26119912  0.07388111  1.73690589 -0.09287012  1.63178556  0.32250574
##   [7]  2.18186300  0.66650623  0.17941706  1.04961239 -1.60913533  0.57980033
##  [13] -0.81392462  1.29918329 -0.01971979 -0.04434655 -1.60861992  0.67734019
##  [19]  2.44201179 -0.33329037 -0.15434865  0.01911842  0.50019346 -0.63611310
##  [25] -1.78907340  0.18834168  2.12024297 -0.56629204  1.08459927  0.46345222
##  [31]  1.59806068 -1.42117556 -1.13100458  0.02223031 -1.25644557  0.61891215
##  [37] -2.32529180 -1.96258517  1.81987007  2.20913294 -1.08110613 -1.15408396
##  [43]  1.53541999 -1.81683529 -0.27068219  0.53924642 -1.37632345 -0.41695955
##  [49]  0.98933696  0.60955677  0.90944271  0.20937891 -0.41782485 -1.60069420
##  [55] -1.61104484  1.85472228  0.93097105 -0.02174383 -0.84113219 -0.36854899
##  [61] -0.16093232 -0.33936128 -0.60848853  1.03276831 -0.76094496 -0.12587162
##  [67]  1.01970218  0.11473481 -1.81654689 -1.49731799  0.58423305  0.47737087
##  [73] -0.23041861  1.04102807  0.68811159 -0.86583698  0.06540837  0.71991795
##  [79]  0.13864336 -0.64919538 -0.68023171  1.38343675 -0.82754873 -1.08669425
##  [85]  1.12745756 -1.79047514 -2.29370593 -0.68968430 -0.65691546 -0.57526634
##  [91]  0.01538038  0.04628009 -0.63531735  0.55348209 -1.21259833  1.33024138
##  [97] -1.71356714  2.47021670  0.47697474 -0.36859297
hist = hist(arreglo, main ="diagrama distribucion normal")

hist
## $breaks
##  [1] -2.5 -2.0 -1.5 -1.0 -0.5  0.0  0.5  1.0  1.5  2.0  2.5
## 
## $counts
##  [1]  2 10  9 14 15 15 14  9  6  6
## 
## $density
##  [1] 0.04 0.20 0.18 0.28 0.30 0.30 0.28 0.18 0.12 0.12
## 
## $mids
##  [1] -2.25 -1.75 -1.25 -0.75 -0.25  0.25  0.75  1.25  1.75  2.25
## 
## $xname
## [1] "arreglo"
## 
## $equidist
## [1] TRUE
## 
## attr(,"class")
## [1] "histogram"
summary(arreglo)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -2.325292 -0.774190 -0.002170  0.002829  0.696063  2.470217

punto 2.6

arreglo_2 = rbinom(30,5,0.9)
arreglo_2
##  [1] 5 4 5 5 5 4 5 4 4 5 3 5 5 3 5 5 5 5 5 4 5 5 5 4 4 4 2 5 5 4
barplot(prop.table(table(arreglo_2)),col=c("pink","purple"), main="Datos Binomiales",ylim=c(0,0.5), ylab ="Frecuencias Relativas",las=1,font.axis=4)

b)

summary(arreglo_2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.000   4.000   5.000   4.467   5.000   5.000

punto 2.7

fallos=c(0,1,0,NA,0,0,0,0,0,1,1,1,0,0,3,0,0,0,0,0,2,0,1)
boxplot(fallos, main = "Diagrama de Caja - Fallos en Lanzamientos",
        xlab = "Número de Fallos")

barplot(table(fallos), main = "Diagrama de Barras - Fallos en Lanzamientos", 
        xlab = "Número de Fallos", ylab = "Frecuencia")

lo que se quiere ver es la frecuencia de cada número de fallos, no se pide la distribución de los datos en detalle, por esto el diagrama de barras seria el mas adecuado.

numero_medio_errores <- mean(fallos, na.rm = TRUE)
print(paste("Número Medio de Errores:", numero_medio_errores))
## [1] "Número Medio de Errores: 0.454545454545455"

punto 2.8

estudiantes <- 1:10
p1 <- c(3, 3, 3, 4, 3, 4, 3, 4, 4, 3)
p2 <- c(5, 5, 2, 2, 5, 2, 2, 5, 5, 2)
p3 <- c(1, 3, 1, 3, 3, 3, 1, 3, 1, 1)

b, c y d)

tabla_p1 <- table(p1)
tabla_p2 <- table(p2)
tabla_p3 <- table(p3)

tabla_p1_p2 <- table(p1, p2)
tabla_p1_p3 <- table(p1, p3)
tabla_p2_p3 <- table(p2, p3)

barplot(rbind(p2, p3), beside = TRUE, names.arg = estudiantes, col = c("pink", "blue"),
        legend.text = c("P2", "P3"), main = "Diagrama de Barras Apiladas de P2 y P3")

cat("Tabla de frecuencia para P1:\n")
## Tabla de frecuencia para P1:
print(tabla_p1)
## p1
## 3 4 
## 6 4
cat("Tabla de frecuencia para P2:\n")
## Tabla de frecuencia para P2:
print(tabla_p2)
## p2
## 2 5 
## 5 5
cat("Tabla de frecuencia para P3:\n")
## Tabla de frecuencia para P3:
print(tabla_p3)
## p3
## 1 3 
## 5 5
cat("Tabla de contingencia cruzada entre P1 y P2:\n")
## Tabla de contingencia cruzada entre P1 y P2:
print(tabla_p1_p2)
##    p2
## p1  2 5
##   3 3 3
##   4 2 2
cat("Tabla de contingencia cruzada entre P1 y P3:\n")
## Tabla de contingencia cruzada entre P1 y P3:
print(tabla_p1_p3)
##    p3
## p1  1 3
##   3 4 2
##   4 1 3
cat("Tabla de contingencia cruzada entre P2 y P3:\n")
## Tabla de contingencia cruzada entre P2 y P3:
print(tabla_p2_p3)
##    p3
## p2  1 3
##   2 3 2
##   5 2 3
barplot(rbind(p1, p2, p3), beside = TRUE, names.arg = estudiantes, col = c("purple", "pink", "yellow"),
        legend.text = c("P1", "P2", "P3"), main = "Diagrama de Barras simultaneo", xlab = "Estudiantes")

punto 2.9

VEC_1= rnorm(50)
VEC_1
##  [1]  0.599081870  0.722880507  0.788155784 -0.631893279 -0.006191125
##  [6] -0.050352344 -0.389764459 -0.406363438  0.920125340 -1.375816240
## [11]  1.519152804 -0.922826016  0.056784830  0.016063990  1.441782994
## [16] -0.213084199 -1.121601526  0.003599789  0.460187109  1.315659131
## [21] -0.007853185  0.377488637  0.414912399  0.476493021  0.981578651
## [26]  1.401875372  0.921437346 -0.520933260  0.963364569 -1.254337105
## [31]  1.178346955 -0.453107122 -0.107999584 -0.667732162 -0.919393290
## [36] -0.509929609 -0.111767643 -0.271575932 -0.744833100 -0.934323197
## [41] -0.001978183 -0.053261617  0.041992405  0.448216744  1.186485731
## [46] -0.383644529  1.502535887 -0.739682245  1.878643012 -0.949938482
VEC_2 = rnorm(50)
VEC_2
##  [1] -0.005222646  1.456664496  1.199080933  0.019491747 -0.851412958
##  [6]  0.354670405 -0.028711847 -1.166879036  2.254435400 -0.989168342
## [11]  0.765012129 -0.143504031  1.000174313 -1.467148701  1.162409021
## [16] -1.429582019  1.631841211  0.292719657 -0.353310844 -1.668072916
## [21] -0.778546131 -1.366900300  0.083428386 -0.638284920  0.105857333
## [26]  0.493774365  2.236924225  1.197600074 -1.251227783  0.459781897
## [31] -0.775370026 -0.137825412  1.140033900  1.222138601  1.320745081
## [36]  0.435497777 -0.416005110  1.136996739  2.024060936  1.246380140
## [41]  1.054614579 -1.442786540 -0.552444105 -0.639667514  2.805447734
## [46]  0.095711433  0.070841135 -0.873991675 -1.587420046  2.074728045
shapiro.test(VEC_1)
## 
##  Shapiro-Wilk normality test
## 
## data:  VEC_1
## W = 0.96966, p-value = 0.2243
shapiro.test(VEC_2)
## 
##  Shapiro-Wilk normality test
## 
## data:  VEC_2
## W = 0.96785, p-value = 0.1891
TEST = t.test(VEC_1,VEC_2)
TEST
## 
##  Welch Two Sample t-test
## 
## data:  VEC_1 and VEC_2
## t = -0.48849, df = 88.735, p-value = 0.6264
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.4977430  0.3013063
## sample estimates:
## mean of x mean of y 
## 0.1173332 0.2155516

el valor p es mayor que 0.05, entonces no hay diferencias significativas entre los dos vectores.

punto 2.10

VEC_3 = rnorm(50)
VEC_3
##  [1] -0.60994856  0.46726766  0.52643368 -0.92061948 -0.36572109  0.73914242
##  [7] -1.09530476  1.87153036 -1.01009148 -0.89047442 -0.70701676  0.20131903
## [13] -0.62502129 -0.24426964 -1.23389770  1.54786208  0.09282738 -0.91795809
## [19]  0.35131201  0.47484665 -0.24641981  1.22617237 -0.74599168 -0.06398923
## [25]  0.01968977  1.05808273  0.52238602  0.80340256  0.76496487  0.77963403
## [31] -0.05575968  0.12606079  1.68133375 -1.51916964  0.78391029  1.80621658
## [37] -0.72264757  0.16659626  0.06075173  0.77673751 -0.47650460  0.48030457
## [43] -0.97610913  0.83333901 -1.38131941 -0.97090237 -0.57547010  1.38093185
## [49]  0.26048603  0.21034137
VEC_4 = rbinom(50,10,0.9)
VEC_4
##  [1]  9 10 10  8  8 10 10 10  9 10  9  9  9  9 10 10 10  7  7  8 10  9  8 10 10
## [26]  9 10  9  9 10 10 10 10 10  9 10 10  9  8  8 10  8  7  7  9 10 10  9  9 10
shapiro.test(VEC_3)
## 
##  Shapiro-Wilk normality test
## 
## data:  VEC_3
## W = 0.97269, p-value = 0.2967
shapiro.test(VEC_4)
## 
##  Shapiro-Wilk normality test
## 
## data:  VEC_4
## W = 0.78474, p-value = 3.971e-07
TEST_2 = t.test(VEC_3,VEC_4)
TEST_2
## 
##  Welch Two Sample t-test
## 
## data:  VEC_3 and VEC_4
## t = -49.483, df = 97.146, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -9.472073 -8.741556
## sample estimates:
##  mean of x  mean of y 
## 0.07318554 9.18000000

el valor p es menor que 0.05, lo que indica que hay diferencias significativas entre los dos vectores