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")
  1. factura ultimo año
costo = sum(pagos)
cat("El costo de la factura es:",costo, "euros\n")
## El costo de la factura es: 478 euros
  1. pago promedio por mes
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
  1. cantidades minimas y maximas pagadas
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"
  1. pagos mayores de 40 euros
e = sum(pagos > 40)
cat("se realizaron:",e, "pagos superiores a 40 euros\n")
## se realizaron: 5 pagos superiores a 40 euros
  1. porcentaje del gasto total
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
  1. summary(x) y fivenum(x)
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
  1. histograma
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.

  1. resumen
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
  1. representacion de datos con diagrama de barras
barplot(rbinom(30,5,0.9))

  1. resumen
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)
  1. diagrama
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")

  1. numero medio de errores
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
  1. tablas de contingencia
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
  1. diagrama de barras apiladas
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")

  1. diagrama de barras
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
  1. prueba de normalidad
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
  1. prueba de normalidad
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
  1. diferencias
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