# 2.1
x = c(1,3,5,7,9)
y = c(2,4,6,7,11,12)
c = x+1
cat("El resultado, es:", c, "\n")
## El resultado, es: 2 4 6 8 10
#b)
y = c(2,4,6,7,11,12)
cat("El resultado es:", c, "\n")
## El resultado es: 2 4 6 8 10
#c
c = x+1
cat("El resultado es:", c, "\n")
## El resultado es: 2 4 6 8 10
d = y*2
cat("El resultado es:", d, "\n")
## El resultado es: 4 8 12 14 22 24
e = length(x)
cat("El resultado es:", e, "\n")
## El resultado es: 5
e_2 = length(y)
cat("El resultado es:", e_2, "\n")
## El resultado 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 es:", f, "\n")
## El resultado es: 3 7 11 14 20 13
g = sum(x>5)
cat("El resultado es:", g, "\n")
## El resultado es: 2
g_2 = sum(x[x>5])
cat("El resultado es:", g_2, "\n")
## El resultado es: 16
h = sum(x>5 | x< 3)
cat("El resultado es:", h, "\n")
## El resultado es: 3
i = y[2]
cat("El resultado es:", i , "\n")
## El resultado es: 4
j = y[-2]
cat("El resultado es:", j , "\n")
## El resultado es: 2 6 7 11 12
k = y[x]
cat("El resultado es:", k, "\n")
## El resultado es: 2 6 11 NA NA
#l)(¿Que significa NA?)
cat("El resultado de l significa = (not available) representa un valor desconocido o Ausencia de valores", "\n")
## El resultado de l significa = (not available) representa un valor desconocido o Ausencia de valores
m = y[y>=8]
cat("El resultado es:", m, "\n")
## El resultado es: 11 12
#2.2
#a) millas
millas = c(65241, 65665, 65998, 66014, 66547, 66857, 67025, 67447, 66958, 67002)
#b)millas a Km
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
#c)
di_f = diff(millas)
print(di_f)
## [1] 424 333 16 533 310 168 422 -489 44
di_f2 = diff(kms)
di_fee = round(di_f2,1)
print(di_fee)
## [1] 682.2 535.8 25.7 857.6 498.8 270.3 679.0 -786.8 70.8
#d)
resumen = summary(di_fee)
print(resumen)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -786.8 70.8 498.8 314.8 679.0 857.6
#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")
# a)
costo = sum(pagos)
cat("El costo de la factura es:",costo, "euros\n")
## El costo de la factura es: 478 euros
#b)
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) MAX y MIN
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) pagos vs meses
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"
#f) porcentaje
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
datos = c(61, 88, 73, 49, 41, 72, 99, 07, 12, 13, 87, 91, 05, 17, 97)
# a) diagrama de porcentual
etiquetas = paste0(round(100 * datos/sum(datos), 2), "%")
pie(datos, labels = etiquetas)
# b), resúmen numéricos
# Resumen numérico básico
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
# Desv.estándar
desviacion_estandar = sd(datos)
desviacion_estandar = round(desviacion_estandar,2)
cat("La DE es:",desviacion_estandar, "\n")
## La DE es: 35.7
varianza = var(datos)
varianza = round(varianza, 2)
cat("La varianza es:",varianza, "\n")
## La varianza es: 1274.27
#c) diferencia entre summary / fivenum
fivenum(datos)
## [1] 5.0 15.0 61.0 87.5 99.0
# Diferencias: aunque para este caso se tiene los mismos valores al aplicar las funciones, "summary" nos permite trabajar con valores ausentes, a diferencia que "fivenum" proporciona 5 números clave
#2.5
#a)
a_numeros = rnorm(100)
a_numeros
## [1] -0.679942665 -0.462683617 -0.837424946 -1.076159015 0.014068720
## [6] -0.910384168 1.680137811 -0.458617652 -0.159928273 -0.228950133
## [11] 0.402374127 0.784280713 -1.243516277 0.733188085 -0.341993414
## [16] -0.546988845 -0.465474411 1.392758389 0.481631605 -0.069427077
## [21] 1.666707316 -1.293001732 0.196812904 -0.156933957 -0.931037284
## [26] 0.113045427 0.528796774 -0.536023629 0.238893398 1.043560928
## [31] -1.692906078 -0.090464702 -2.680877597 -2.542260649 0.159812883
## [36] 1.506757719 0.842020893 -0.209762525 -2.308922033 2.046052807
## [41] 0.427207093 1.137799171 -1.390996485 0.443188314 -0.824407803
## [46] 1.840866218 2.089320176 0.266489301 -0.796049549 -0.040155468
## [51] -1.468774449 -2.444604156 -1.310050825 0.028434892 -1.955587937
## [56] 0.331619386 0.747321854 1.384885760 0.280670604 -0.299176136
## [61] -1.508897914 -0.840564383 -0.554564093 0.874914875 0.716722788
## [66] 0.573308715 0.773131096 0.850023321 -0.824100183 0.771804663
## [71] -0.023477662 0.711832450 0.867389712 -0.199618286 0.107737012
## [76] 0.008497403 -1.143268514 1.749245037 0.289300645 -0.170731383
## [81] -1.301222258 1.188079625 0.204959374 0.502696334 -1.277690578
## [86] 1.304434595 0.547156381 -0.666251920 1.126968158 -0.050510621
## [91] -0.681478095 0.489716236 -0.188390775 1.413791270 0.524452371
## [96] 0.340781059 0.063535115 0.805432492 -0.164389500 0.838741703
#b)
hist(a_numeros, main="Valores con rnorm")
#Al repetir los valores del vector generado por la función rnomr cambian entonces, el histograma no es el mismos
# Punto c, resumen de los datos
summary(a_numeros)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.680878 -0.669675 0.045985 0.004047 0.736722 2.089320
# Ejercico 2.6 datos aleatorios / rbinom
aleatorio = rbinom(30,5,0.9)
aleatorio
## [1] 5 5 3 5 5 4 4 4 5 5 4 4 5 5 5 5 5 5 5 5 4 5 5 5 4 5 5 5 4 5
#a
barplot(rbinom(30,5,0.9))
#b)
summary(aleatorio)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.000 4.000 5.000 4.667 5.000 5.000
#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)
# a) diagrama de cajas / barras
boxplot(fallos) # El diagrama de cajas no es la mejor representación para este caso
barplot(fallos, xlab = "Intentos", ylab = "Fallos", main = "Satélite en Orbita")
# b) número medio de errores
fallos_satelite = fallos[!is.na(fallos)]
round(mean(fallos_satelite),2)
## [1] 0.45
# 2.8
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)
#b) tabulación
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
#c)
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
# d) diagrama de barras apilada
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")
# e) diagrama barras con tres preguntas
barplot(matriz,beside = T,xlab = "Estudiantes")
# 2.9
vec_1 = rnorm(50)
vec_1
## [1] 1.01025970 0.68558594 -1.27426311 2.09175392 1.16297576 0.36289982
## [7] -1.36682198 0.36317761 1.49440832 -1.12529548 0.87686972 0.06262610
## [13] -0.55488428 0.59700423 2.21125914 -0.96286292 -0.30348124 -0.54109641
## [19] 0.63861946 -1.36034288 -0.26707298 0.36048686 0.61840218 0.98566648
## [25] 2.01973283 0.44754421 0.88606746 0.46464858 -0.88753867 1.15221832
## [31] -0.37494583 -0.25658903 -0.65785149 -0.26090955 -0.27973928 1.18739632
## [37] -0.48178699 -0.16363280 -0.99239767 1.89513229 -0.35726115 0.57608589
## [43] -1.10483729 -0.81004592 -1.27925757 -1.27776028 1.37081978 0.31259946
## [49] 0.13629386 -0.07073616
vec_2 = rnorm(50)
vec_2
## [1] -0.434859514 0.771407297 0.471867879 0.517587921 -0.719332104
## [6] 0.907022611 -0.585658051 0.256526729 0.178869737 -0.274907093
## [11] -0.693807762 0.330834478 0.972840567 1.241153586 0.554512138
## [16] -0.707255254 -0.292488149 -1.233109240 1.246938402 -0.216256031
## [21] 0.690227725 1.034570153 1.063123639 -0.058916007 -0.669856684
## [26] 0.003315491 0.528130032 0.459604736 -0.462345036 0.774601717
## [31] -0.870588083 0.474123090 -0.858046456 -1.655419751 0.234431113
## [36] -0.286646792 0.477700754 0.657791257 -1.831331096 -0.385044017
## [41] -1.136345916 -2.054551143 -0.162398406 -0.238299382 -0.663949676
## [46] -2.288168752 -1.568827983 -0.348455212 -0.148561012 0.455489458
#a) Shapiro-Wilk test // prueba de normalidad
shapiro.test(vec_1)
##
## Shapiro-Wilk normality test
##
## data: vec_1
## W = 0.96461, p-value = 0.1387
shapiro.test(vec_2)
##
## Shapiro-Wilk normality test
##
## data: vec_2
## W = 0.96181, p-value = 0.1059
#NOTA: p-value > 0.05 se asume una Distribución Normal
# b) t-student test
TEST = t.test(vec_1,vec_2)
TEST
##
## Welch Two Sample t-test
##
## data: vec_1 and vec_2
## t = 1.4615, df = 96.523, p-value = 0.1471
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.09668578 0.63676088
## sample estimates:
## mean of x mean of y
## 0.1391825 -0.1308551
NOTA: p-value > 0.05, no se pueden considerar significativas las diferencias entre los vectores.
# 2.10 - Vectores
vec_3 = rnorm(50)
vec_3
## [1] -0.3220133022 2.4453331002 -0.6797835846 0.1344395863 1.5780058782
## [6] -1.3417584355 -0.3835430439 -0.3787341898 1.7743654001 0.9242626534
## [11] -0.1559885511 0.8805334136 0.8084594784 0.7712234159 -0.2271996878
## [16] 0.0248339418 1.2426288980 0.4849038254 -0.2389085933 0.3501347512
## [21] 0.4014921455 1.1779424730 -0.2402895024 -1.1550637325 0.6463656712
## [26] -1.6637454957 2.1039612636 0.5440526259 0.7422694407 0.1394449108
## [31] 0.0982497370 -0.6293186848 0.0809747747 -0.0528799350 -0.0007330756
## [36] -0.1597695348 0.6039137063 -0.8761238214 -2.0373392765 0.0422652142
## [41] -0.6729904318 1.0752593572 -0.8332671918 -0.4290116227 0.4824909614
## [46] -1.1914859242 -1.2461841785 0.9226740012 -1.2504197188 1.1568806762
vec_4 = rbinom(50,3,0.9)
vec_4
## [1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 2 3 3 3 3 3 3 2 3
## [39] 3 3 3 2 1 3 3 3 2 2 2 3
# a) Shapiro-Wilk test // prueba de normalidad
shapiro.test(vec_3)
##
## Shapiro-Wilk normality test
##
## data: vec_3
## W = 0.99335, p-value = 0.9934
shapiro.test(vec_4)
##
## Shapiro-Wilk normality test
##
## data: vec_4
## W = 0.4872, p-value = 5.686e-12
#NOTA: p-value > 0.05 se asume una Distribución Normal
# b) t-student test
TEST = t.test(vec_3,vec_4)
TEST
##
## Welch Two Sample t-test
##
## data: vec_3 and vec_4
## t = -17.925, df = 69.67, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2.989975 -2.391193
## sample estimates:
## mean of x mean of y
## 0.1094162 2.8000000
NOTA: p-value > 0.05, no se pueden considerar significativas las diferencias entre los vectores.