#Solución punto 2.1
#Punto a, muestra los resultados guardados en un vector
x=c(1,3,5,7,9)
#Punto b, muestra los resultados guardados en un vector
y=c(2,4,6,7,11,12)
#punto c, cada elemento del vector, se incrementa en una unidad
puntoC=x+1
#punto d, cada elemento del vector, se duplica.
puntoD= y*2
#punto e, muestra el tamaño o cantidad de elementos que tiene el vector.
puntoEx=length(x)
puntoEY= length(y)
#punto f,
#No se pueden sumar los elementos del vector, pues sus tamaños no son iguales
#punto G
puntoG1=sum(x>5)#suma la cantidad de elementos que estén en las posiciones mayores a 5
puntoG2=sum(x[x>5]) #Suma los números que estén en la posición mayor a 5
#punto H
puntoH=sum(x>5|x<3) #Muestra la cantidad de elementos que sean mayores a 5 o que sean menores a 3, se suman la cantidad de posibilidades, por ende da 3
#punto I, muestra o almacena el elemento en la posición 2 del vector
puntoI= y[2]
#punto J, muestra o almacena el elemento en la posición -2 del vector.
puntoJ=y[-2] #Elimina el elemento que se encuentre en la posición 2
#pountoK
puntoK=y[x]
#Muestra o almacena los elemenos que se encuentran en el vector y, situados en la posición que indique cada elemento de x.
#puntoL ->> Na significa que no hay elemento existente en la posición indicada para un vector en específico.
#puntoM
puntoM=y[y>=8]
#Realiza un vector donde almacene los elementos que son mayores o iguales a 8, que estén en el vector y
#Solución punto 2
#Punto A
millas=c(65241,65665,65998,66014,66547,66857,67025,67447,66958,67002)
#Punto B
kms=1.609*millas
#Punto C
diferencias=diff(kms)
#Calcula las diferencias entre los números o elementos consecutivos del vector.
#Punto D
#Puede utilizarse la función Summary
summary(millas)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 65241 66002 66702 66475 66991 67447
summary(kms)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 104973 106197 107324 106959 107789 108522
summary(diferencias)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -786.8 70.8 498.8 314.8 679.0 857.6
#Punto 3
#Factura del último año
#PuntoA
facturas=c(47,32,40,36,49,31,49,30,49,35,48,32)
ultimoMes= facturas[12]
ultimoAnio=sum(facturas)
#Punto B
promedio= mean(facturas)
#Punto C
#Cantidades mínimas
minimas=min(facturas)
#Cantidades máximas
maximas=max(facturas)
#PuntoD
meses=c("Enero", "Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre", "Octubre", "Noviembre", "Diciembre")
tabla= data.frame(meses, facturas)
table= tabla
#punto e, meses que pagó más de 40 euros
masdeCuarenta= facturas[facturas>40]
cantidadMeses=length(masdeCuarenta)
#punto f
sumaDeCuarenta= sum(masdeCuarenta)
porcentaje= (sumaDeCuarenta*100)/ultimoAnio
#Punto 4
datos=c( 61,88,73,49,41,72,99,07,12,13,87,91,05,17,97)
pie(datos, labels= datos, main="Diagrama Porcentual")

#Resumenes numéricos de los datos
summary(datos)#Muestra la información de manera organizada incluyendo la media muestral
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 15.00 61.00 54.13 87.50 99.00
fivenum(datos, na.rm = TRUE) #Muestra alguna información almacenada en un vector
## [1] 5.0 15.0 61.0 87.5 99.0
#Punto 5
# PUNTO A
datos=c(rnorm(100))
hist(datos)

summary(datos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.79551 -0.85056 0.05554 -0.04520 0.88784 2.40707
datos1=c(rnorm(100))
hist(datos1)

summary(datos1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.903989 -0.486726 -0.003973 0.060678 0.596419 2.784860
datos2=c(rnorm(100))
hist(datos2)

summary(datos2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -3.64357 -0.61961 0.19074 0.02125 0.90548 1.81343
#Al ser números aleatorios normalizados, el histograma presenta una distribución similar a una campana gaussiana, lo cual indica que es una distribución normal
#Punto 6
datos<-dbinom(1:30, size=5, prob=0.9)
barplot(datos)

summary(datos)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00000 0.00000 0.00000 0.03333 0.00000 0.59049
#Los datos no se encuentran normalizados, por ende, en una distribución binomial, no se presentan igualdades a la distribución normal que tenemos en el ejercicio anterior.
#Punto 7
pruebas= 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(pruebas)

barplot(pruebas)

#Se puede evidenciar mayoritariamente el registro de datos en el diagrama de barras, porque se visualizan completamente cada uno de los casos tomados en las pruebas
#TABULACIONES
tabla= data.frame(pruebas)
table= tabla
#Punto 8
#a
#Metodo c()
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)
encuesta=data.frame(estudiante, p1, p2, p3)
table(encuesta)
## , , p2 = 2, p3 = 1
##
## p1
## estudiante 3 4
## 1 0 0
## 2 0 0
## 3 1 0
## 4 0 0
## 5 0 0
## 6 0 0
## 7 1 0
## 8 0 0
## 9 0 0
## 10 1 0
##
## , , p2 = 5, p3 = 1
##
## p1
## estudiante 3 4
## 1 1 0
## 2 0 0
## 3 0 0
## 4 0 0
## 5 0 0
## 6 0 0
## 7 0 0
## 8 0 0
## 9 0 1
## 10 0 0
##
## , , p2 = 2, p3 = 3
##
## p1
## estudiante 3 4
## 1 0 0
## 2 0 0
## 3 0 0
## 4 0 1
## 5 0 0
## 6 0 1
## 7 0 0
## 8 0 0
## 9 0 0
## 10 0 0
##
## , , p2 = 5, p3 = 3
##
## p1
## estudiante 3 4
## 1 0 0
## 2 1 0
## 3 0 0
## 4 0 0
## 5 1 0
## 6 0 0
## 7 0 0
## 8 0 1
## 9 0 0
## 10 0 0
#Tablas preguntas
tablap1=data.frame(estudiante,p1)
table(tablap1)
## p1
## estudiante 3 4
## 1 1 0
## 2 1 0
## 3 1 0
## 4 0 1
## 5 1 0
## 6 0 1
## 7 1 0
## 8 0 1
## 9 0 1
## 10 1 0
tablap2=data.frame(estudiante,p2)
table(tablap2)
## p2
## estudiante 2 5
## 1 0 1
## 2 0 1
## 3 1 0
## 4 1 0
## 5 0 1
## 6 1 0
## 7 1 0
## 8 0 1
## 9 0 1
## 10 1 0
tablap3=data.frame(estudiante,p3)
table(tablap3)
## p3
## estudiante 1 3
## 1 1 0
## 2 0 1
## 3 1 0
## 4 0 1
## 5 0 1
## 6 0 1
## 7 1 0
## 8 0 1
## 9 1 0
## 10 1 0
#Metodo scan()
write.table(estudiante,
file = "estudiantes.txt",
row.names = FALSE)
getwd() #guarda como directorio
## [1] "/cloud/project"
w=scan("estudiantes.txt", what = "character")
print(w)
## [1] "x" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
#-----
write.table(p1,
file = "p1.txt",
row.names = FALSE)
getwd() #guarda como directorio
## [1] "/cloud/project"
x=scan("p1.txt", what = "character")
print(x)
## [1] "x" "3" "3" "3" "4" "3" "4" "3" "4" "4" "3"
#-----
write.table(p2,
file = "p2.txt",
row.names = FALSE)
getwd() #guarda como directorio
## [1] "/cloud/project"
y=scan("p2.txt", what = "character")
print(y)
## [1] "x" "5" "5" "2" "2" "5" "2" "2" "5" "5" "2"
#-----
write.table(p3,
file = "p3.txt",
row.names = FALSE)
getwd() #guarda como directorio
## [1] "/cloud/project"
z=scan("p3.txt", what = "character")
print(z)
## [1] "x" "1" "3" "1" "3" "3" "3" "1" "3" "1" "1"
#Metodo read.table ()
read.table(file = "estudiantes.txt", col.names = "Estudiantes", skip = 1)
## Estudiantes
## 1 1
## 2 2
## 3 3
## 4 4
## 5 5
## 6 6
## 7 7
## 8 8
## 9 9
## 10 10
read.table(file = "p1.txt", col.names = "Pregunta 1", skip = 1)
## Pregunta.1
## 1 3
## 2 3
## 3 3
## 4 4
## 5 3
## 6 4
## 7 3
## 8 4
## 9 4
## 10 3
read.table(file = "p2.txt", col.names = "Pregunta 2", skip = 1)
## Pregunta.2
## 1 5
## 2 5
## 3 2
## 4 2
## 5 5
## 6 2
## 7 2
## 8 5
## 9 5
## 10 2
read.table(file = "p3.txt", col.names = "Pregunta 3", skip = 1)
## Pregunta.3
## 1 1
## 2 3
## 3 1
## 4 3
## 5 3
## 6 3
## 7 1
## 8 3
## 9 1
## 10 1
#Metodo data.entry ()
encuestaE <- data.frame(
Estudiante = 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)
)
#c
#Realizar las tablas de contingencias entre p1 y p2
tabla_p1_p2 <- table(p1,p2)
tabla_p1_p2
## p2
## p1 2 5
## 3 3 3
## 4 2 2
#Realizar las tablas de contingencias entre p1 y p3
tabla_p1_p3 <- table(p1, p3)
tabla_p1_p3
## p3
## p1 1 3
## 3 4 2
## 4 1 3
#Realizar las tablas de contingencias entre p3 y p2
tabla_p2_p3 <- table(p2, p3)
tabla_p2_p3
## p3
## p2 1 3
## 2 3 2
## 5 2 3
#Tabla de contingencia cruzada para 3 preguntas:
tabla_p1_p2_p3 <- xtabs(~ p1 + p2 + p3)
tabla_p1_p2_p3
## , , p3 = 1
##
## p2
## p1 2 5
## 3 3 1
## 4 0 1
##
## , , p3 = 3
##
## p2
## p1 2 5
## 3 0 2
## 4 2 1
#d
d=table(p2,p3)
barplot(d, main = "Gráfico de barras apiladas",axes = TRUE, names.arg = c("P2", "P3"), col = c("#FB6A4A","#FED976"))

#e
tabla=data.frame(p1,p2,p3)
table(tabla)
## , , p3 = 1
##
## p2
## p1 2 5
## 3 3 1
## 4 0 1
##
## , , p3 = 3
##
## p2
## p1 2 5
## 3 0 2
## 4 2 1
e1= sum(p1)
e2= sum(p2)
e3=sum(p3)
et=c(e1,e2,e3)
barplot(et, main = "Gráfico de barras",axes = TRUE, names.arg = c("P1", "P2", "P3"), col = c("#FB6A4A","#FB6A4A","#FB6A4A"))

#Punto 9
#Crear dos vectores con datos aleatoreos y distribución normal.
vectorUno=c(rnorm(50))
vectorDos=c(rnorm(50))
#Prueba de shapiro wilk para el vector 1
shapiro.test(vectorUno)
##
## Shapiro-Wilk normality test
##
## data: vectorUno
## W = 0.9555, p-value = 0.05762
#Para este caso en particular al realizar la prueba de normalidad de los datos almacenados en el vector uno, se puede encontrar que los datos se encuentran normalizados, debido a que su p-value, es mayor que 0.5
#Prueba de shapiro wilk para el vector 2
shapiro.test(vectorDos)
##
## Shapiro-Wilk normality test
##
## data: vectorDos
## W = 0.98358, p-value = 0.7094
#Para este caso en particular al realizar la prueba de normalidad de los datos almacenados en el vector dos, se puede encontrar que los datos se encuentran normalizados, debido a que su p-value, es mayor que 0.5
#Determinar si tiene diferencias significativas.
t.test(vectorUno,vectorDos, paired= TRUE, alternative="two.sided")
##
## Paired t-test
##
## data: vectorUno and vectorDos
## t = 2.23, df = 49, p-value = 0.03036
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## 0.03858543 0.74216407
## sample estimates:
## mean difference
## 0.3903748
#Analizando los resultados arrojados posteriormente a aplicar la prueba t.test sobre los dos vectores de datos, es posible determinar que no se encuentra homogeneidad en los datos, debido a que el valor obtenido o p-value, es menor que el valor de significancia tomado por defecto que es 0.05
#Punto 10
vecUno= c(rnorm(50))
vecDos= c(rbinom(1:50, size=50, prob=0.9))
#Prueba de shapiro wilk para el vector 1
shapiro.test(vecUno)
##
## Shapiro-Wilk normality test
##
## data: vecUno
## W = 0.96455, p-value = 0.1379
#Para este caso en particular al realizar la prueba de normalidad de los datos almacenados en el vector uno, se puede encontrar que los datos se encuentran normalizados, debido a que su p-value, es mayor que 0.5
#Prueba de shapiro wilk para el vector 2
shapiro.test(vecDos)
##
## Shapiro-Wilk normality test
##
## data: vecDos
## W = 0.95135, p-value = 0.03876
#En este caso en particular después de realizar varias pruebas, el valor de p-value, es menor a 0.5, por lo tanto se define que los valores no se encuentran distribuidos normalmente.
#Determinar si tiene diferencias significativas.
t.test(vecUno,vecDos, paired= TRUE, alternative="two.sided")
##
## Paired t-test
##
## data: vecUno and vecDos
## t = -125.71, df = 49, p-value < 2.2e-16
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -46.39446 -44.93444
## sample estimates:
## mean difference
## -45.66445
#El nivel de homogeneidad para este caso en particular es acertado. Es decir, la homogeneidad entre el vector 1 y el vector 2 son iguales debido a que el valor p-value, encontrado al realizar la prueba t.test, muestra que es mayor a 0.05, por ende se descarta la hipótesis alternativa y afirmamos la hipótesis nula donde ambas son iguales.