2.1. ¿Cuál será el resultado de ejecutar las siguientes instrucciones?:
x = c(1,3,5,7,9)
y = c(2,4,6,7,11,12)
c = x+1
cat("El resultado de c es:", c, "\n")
## El resultado de c es: 2 4 6 8 10
d = y*2
cat("El resultado de d es:", d, "\n")
## El resultado de d es: 4 8 12 14 22 24
e = length(x)
cat("El resultado de e_1 es:", e, "\n")
## El resultado de e_1 es: 5
e_2 = length(y)
cat("El resultado de e_2 es:", e_2, "\n")
## El resultado de e_2 es: 6
f = x + y
## Warning in x + y: longitud de objeto mayor no es múltiplo de la longitud de uno
## menor
cat("El resultado de f es:", f, "\n")
## El resultado de f es: 3 7 11 14 20 13
g = sum(x>5) # cuales son > 5
cat("El resultado de g es:", g, "\n")
## El resultado de g es: 2
g_2 = sum(x[x>5]) # suma los > 5
cat("El resultado de g_2 es:", g_2, "\n")
## El resultado de g_2 es: 16
h = sum(x>5 | x< 3)
cat("El resultado de h es:", h, "\n")
## El resultado de h es: 3
i = y[2]
cat("El resultado de i es:", i, "\n")
## El resultado de i es: 4
j = y[-2]
cat("El resultado de j es:", j, "\n")
## El resultado de j es: 2 6 7 11 12
k = y[x]
cat("El resultado de k es:", k, "\n")
## El resultado de k es: 2 6 11 NA NA
cat("NA significa: ausencia de valores", "\n")
## NA significa: ausencia de valores
m = y[y>=8]
cat("El resultado de m es:", m, "\n")
## El resultado de m es: 11 12
2.2 Conductor Europeo a.
millas = c(65241, 65665, 65998, 66014, 66547, 66857, 67025, 67447, 66958, 67002)
kms = 1.609*millas
kms_1 = round(kms, 1)
print(kms_1)
## [1] 104972.8 105655.0 106190.8 106216.5 107074.1 107572.9 107843.2 108522.2
## [9] 107735.4 107806.2
dife = diff(millas)
print(dife)
## [1] 424 333 16 533 310 168 422 -489 44
dife_2 = diff(kms)
difee =round(dife_2, 1)
print(difee)
## [1] 682.2 535.8 25.7 857.6 498.8 270.3 679.0 -786.8 70.8
resumen = summary(difee)
print(resumen)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -786.8 70.8 498.8 314.8 679.0 857.6
2.3 contrato telefonico
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")
costo = sum(pagos)
cat("El costo de la factura es:",costo, "euros\n")
## El costo de la factura es: 478 euros
b = mean(pagos)
b = round(b,2)
cat("El pago promedio por mes es:",b, "euros\n")
## El pago promedio por mes es: 39.83 euros
c_1 = max(pagos)
cat("El pago máximo es:",c_1, "euros\n")
## El pago máximo es: 49 euros
c_2 = min(pagos)
cat("El pago mínimo es:",c_2, "euros\n")
## El pago mínimo es: 30 euros
d.mes en que se realizo cada pago
meses_pagos= cbind(meses,pagos)
meses_pagos
## meses pagos
## [1,] "enero" "47"
## [2,] "febrero" "32"
## [3,] "marzo" "40"
## [4,] "abril" "36"
## [5,] "mayo" "49"
## [6,] "junio" "31"
## [7,] "julio" "49"
## [8,] "agosto" "30"
## [9,] "septiembre" "49"
## [10,] "octubre" "35"
## [11,] "noviembre" "48"
## [12,] "diciembre" "32"
e = sum(pagos > 40)
cat("se realizaron:",e, "pagos superiores a 40 euros\n")
## se realizaron: 5 pagos superiores a 40 euros
x = sum(pagos[pagos > 40])
print(x)
## [1] 242
y = sum(pagos)
print(y)
## [1] 478
operacion = ((x*100)/y)
porcentaje = round(operacion,1)
cat("Los pagos superiores a 40 euros:",porcentaje, "%\n")
## Los pagos superiores a 40 euros: 50.6 %
2.4 a. diagrama porcentual
datos = c(61, 88, 73, 49, 41, 72, 99, 07, 12, 13, 87, 91, 05, 17, 97)
etiquetas = paste0(round(100 * datos/sum(datos), 2), "%")
pie(datos, labels = etiquetas)
b. resumenes numericos
resumen_basico = summary(datos)
print(resumen_basico)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 15.00 61.00 54.13 87.50 99.00
# Desviación estándar
desviacion_estandar = sd(datos)
desviacion_estandar = round(desviacion_estandar,2)
cat("La Desviacion Estandar es:",desviacion_estandar, "\n")
## La Desviacion Estandar es: 35.7
# Varianza
varianza = var(datos)
varianza = round(varianza, 2)
cat("La varianza es:",varianza, "\n")
## La varianza es: 1274.27
fivenum(datos)
## [1] 5.0 15.0 61.0 87.5 99.0
diferencias:Aunque ambas funciones devuelven valores similares en este caso, “summary” tiene la capacidad de manejar datos faltantes, mientras que “fivenum” simplemente ofrece cinco numeros clave.
2.5 datos aleatorios a. generar valores
a_numeros = rnorm(100)
a_numeros
## [1] 0.049373760 -0.224146498 1.419504689 -0.732957160 1.529120536
## [6] 0.439031483 0.436197235 0.160756257 1.298320376 -0.121490106
## [11] 0.194186553 1.042146666 1.289238941 1.090556518 -2.380262668
## [16] 0.121635899 0.301468907 -0.647243180 -1.533567888 -1.937893475
## [21] 0.469669755 -1.445747932 0.691084813 1.056732369 1.270594163
## [26] 1.843025002 0.510208219 -0.338339001 0.040122055 -1.004335338
## [31] 2.377006061 -0.235765596 0.268481354 1.644725098 -0.824647092
## [36] 1.404686510 -0.746140986 0.078172754 -1.040979551 0.788818558
## [41] -0.467701928 0.328375874 0.285967559 -0.960683880 -0.436285642
## [46] -0.254001535 -0.530198154 0.066538551 1.064715808 1.354530287
## [51] -0.000416797 1.195994674 -0.114438797 1.119030033 0.637966892
## [56] 0.204744423 -0.523992553 0.081731478 -0.941114978 0.222418736
## [61] -0.846276426 -0.358282034 -0.445628675 0.498205367 -1.527351368
## [66] -2.551315976 1.338198530 0.344597479 -2.043658706 1.234190752
## [71] 1.641475083 0.748483110 1.028968607 -0.648271248 -0.402322983
## [76] 0.501670967 0.883925782 -0.237724261 0.776808138 -1.615007972
## [81] -0.571134052 0.811945949 0.332008496 0.599097322 -2.392053585
## [86] -0.840571493 -0.653904459 0.427023121 0.585804247 -0.836236447
## [91] 0.340431169 -0.897625056 -0.287256652 0.601390115 1.367678441
## [96] 1.836742926 0.463789017 -1.651663836 0.895053775 -0.327831148
hist(a_numeros, main="Valores con rnorm")
Cuando se repiten los valores en el vector generado por la función
rnomr, este cambia, lo que significa que el histograma resultante
también varía.
summary(a_numeros)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.55132 -0.54043 0.19947 0.09058 0.79460 2.37701
2.6 datos aleatorios
aleatorio = rbinom(30,5,0.9)
aleatorio
## [1] 5 4 5 4 4 5 5 5 4 3 5 5 5 3 4 3 3 4 4 4 3 4 5 5 4 4 3 5 5 5
barplot(rbinom(30,5,0.9))
summary(aleatorio)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.000 4.000 4.000 4.233 5.000 5.000
2.7 fallos
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)
para este ejercicio el diagrama de barras no es la mejor
representacion
barplot(fallos, xlab = "Intentos", ylab = "Fallos", main = "Satélite en Orbita")
fallos_satelite = fallos[!is.na(fallos)]
round(mean(fallos_satelite),2)
## [1] 0.45
2.8 encuesta de funcionamiento a un curso a. entar datos b. tabula los resultados
Estudiante = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 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)
tabla = c(P1,P2,P3)
matriz = matrix(tabla,3,10,byrow = TRUE)
rownames(matriz)= c("P1","P2","P3")
colnames(matriz)=paste("Est",1:10)
matriz
## Est 1 Est 2 Est 3 Est 4 Est 5 Est 6 Est 7 Est 8 Est 9 Est 10
## P1 3 3 3 4 3 4 3 4 4 3
## P2 5 5 2 2 5 2 2 5 5 2
## P3 1 3 1 3 3 3 1 3 1 1
matriz[2,]
## Est 1 Est 2 Est 3 Est 4 Est 5 Est 6 Est 7 Est 8 Est 9 Est 10
## 5 5 2 2 5 2 2 5 5 2
matriz[3,]
## Est 1 Est 2 Est 3 Est 4 Est 5 Est 6 Est 7 Est 8 Est 9 Est 10
## 1 3 1 3 3 3 1 3 1 1
Datos_2 = c(P2,P3)
Datos_3 = matrix(Datos_2,2,10,byrow = TRUE)
Datos_3
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 5 5 2 2 5 2 2 5 5 2
## [2,] 1 3 1 3 3 3 1 3 1 1
barplot(Datos_3,beside=F,xlab = "Estudiantes")
barplot(matriz,beside = T,xlab = "Estudiantes")
2.9 vectores
vec_1 = rnorm(50)
vec_1
## [1] 0.195685282 -0.897534944 -1.007423156 -0.730700245 -0.455188220
## [6] 1.704980371 0.602236831 -0.172732133 -0.833031537 1.114236669
## [11] -0.897090935 -0.060725739 -0.234072443 -0.219482446 0.602109708
## [16] -0.841740154 1.284480530 0.269213214 0.857063432 0.519373130
## [21] 0.659008470 0.723696288 -0.976871289 0.824850073 1.176557774
## [26] -0.655597252 -0.864363395 -1.447356012 0.818710039 -0.110422442
## [31] 0.059887373 0.492555884 -0.047553995 -0.334570025 -0.550107691
## [36] -1.066446424 0.219315810 1.600226752 1.246772854 -0.008400569
## [41] -0.146360747 -0.122894656 -0.299335764 -0.142265044 2.897486889
## [46] -0.194459131 0.651055877 -0.102963984 -1.126302352 -0.152361392
vec_2 = rnorm(50)
vec_2
## [1] -0.24144471 0.45360170 -1.05794712 -0.86293118 0.65009000 -0.80294979
## [7] -0.31907329 0.76428140 0.86192736 -0.01234175 -0.41772318 0.17135344
## [13] -0.28838449 1.08127575 -0.59215055 -0.52060129 -0.33606093 -0.06526058
## [19] 0.25804584 -0.54536882 -0.27522363 -0.25837105 0.13787312 0.08377976
## [25] 1.85714403 -0.07267272 -0.58033058 0.94815146 0.34994815 -0.26185814
## [31] 0.33630700 -0.44906894 -1.67632326 -0.17478626 0.73461782 0.75967370
## [37] -1.27420686 0.52072440 0.14390196 -1.57762515 0.96265504 1.86141048
## [43] 0.85562504 -2.15566553 -0.62621588 -1.24594838 2.25278833 -0.99522940
## [49] 1.25358017 -1.59723543
shapiro.test(vec_1)
##
## Shapiro-Wilk normality test
##
## data: vec_1
## W = 0.95662, p-value = 0.06418
shapiro.test(vec_2)
##
## Shapiro-Wilk normality test
##
## data: vec_2
## W = 0.98897, p-value = 0.9193
TEST = t.test(vec_1,vec_2)
TEST
##
## Welch Two Sample t-test
##
## data: vec_1 and vec_2
## t = 0.64583, df = 97.387, p-value = 0.5199
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.2406891 0.4729048
## sample estimates:
## mean of x mean of y
## 0.07642298 -0.03968486
2.10 vectores
vec_3 = rnorm(50)
vec_3
## [1] -0.95598748 0.54754848 -0.09929964 -0.36294937 -1.63384246 0.78297968
## [7] 0.05836414 2.20175748 -0.91792872 2.16501056 -0.89194418 -0.66128432
## [13] 0.89078610 0.95977664 0.24949594 1.31949181 -0.19748037 0.38026845
## [19] 0.87910791 -0.87913475 -1.39494675 2.20941267 0.73037516 2.92985010
## [25] 0.65031848 0.90928198 0.06830941 -1.08125485 -0.60557409 2.06048029
## [31] 0.34115601 -0.63801469 0.90602250 -1.29926647 -0.31050677 1.11421374
## [37] 1.84236531 0.83464226 -0.10271083 -1.55597818 -0.52766497 0.36831813
## [43] 0.66389284 -0.86121850 -0.42999326 1.51039524 2.02666168 -0.62535293
## [49] 1.33132145 0.64645536
vec_4 = rbinom(50,3,0.9)
vec_4
## [1] 3 3 3 3 3 3 3 3 2 3 2 3 3 3 2 3 3 3 2 3 2 3 2 3 2 3 3 3 3 3 3 3 2 2 3 2 2 3
## [39] 3 2 3 3 2 3 3 2 3 3 2 2
shapiro.test(vec_3)
##
## Shapiro-Wilk normality test
##
## data: vec_3
## W = 0.97339, p-value = 0.3162
shapiro.test(vec_4)
##
## Shapiro-Wilk normality test
##
## data: vec_4
## W = 0.58795, p-value = 1.295e-10
TEST = t.test(vec_3,vec_4)
TEST
##
## Welch Two Sample t-test
##
## data: vec_3 and vec_4
## t = -13.803, df = 65.865, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2.711772 -2.026399
## sample estimates:
## mean of x mean of y
## 0.3109145 2.6800000
no se consideran significativas las diferencias entre vector 3 y 4