#####################################################################################
##Estructura de Datos################################################################
#####################################################################################
#Vectores############################################################################
#NumƩricos###########################################################################
a<-1.7 #asignando al objeto a el valor de 1.7
a=1.7 #asignando al objeto a el valor de 1.7
assign("a", 1.7) #asignando al objeto a el valor de 1.7
b<-c(10,11,15,19) #asignando al objeto b los valores 10, 11, 15, 19
print(b) #mostrar valores del objeto b
## [1] 10 11 15 19
##Secuencias y Repeticiones##
x<-1:20 #secuencia de nĆŗmeros del 1 al 20
seq(1:20) #otra forma secuencia de nĆŗmeros del 1 al 20
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
seq(0, 10, by=0.5) #secuencia de nĆŗmeros del 1 al 10 con un incremento de 0.5
## [1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0
## [16] 7.5 8.0 8.5 9.0 9.5 10.0
seq(from=0, to=10, by=0.5) #secuencia de nĆŗmeros del 1 al 10 con un incremento de 0.5
## [1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0
## [16] 7.5 8.0 8.5 9.0 9.5 10.0
seq(5,10,length=30) #30 nĆŗmeros del 5 al 10 sin importar el incremento
## [1] 5.000000 5.172414 5.344828 5.517241 5.689655 5.862069 6.034483
## [8] 6.206897 6.379310 6.551724 6.724138 6.896552 7.068966 7.241379
## [15] 7.413793 7.586207 7.758621 7.931034 8.103448 8.275862 8.448276
## [22] 8.620690 8.793103 8.965517 9.137931 9.310345 9.482759 9.655172
## [29] 9.827586 10.000000
my_seq<-seq(5,10,length=30) #asignando a my_seq el vector de secuencia
rep(0, times=40) #función para crear un vector que contiene 40 elementos y todos son ceros
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [39] 0 0
rep(c(0,1,2), times=10) #si se quiere crear un vector que repita 10 veces el vector (0,1,2)
## [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
rep(c(0, 1, 2), each = 10) #Ahora lo que queremos que contenga 10 ceros, 10 unos y 10 dos.
## [1] 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
##Posiciones en el vector##
x[3] #queremos conocer que elemento estÔ en la posición 3 del vector x
## [1] 3
x[c(3,4)] # posiciones 3 y 4 del vector x
## [1] 3 4
x[1:10] #posiciones de la 1 a la 10
## [1] 1 2 3 4 5 6 7 8 9 10
##Operaciones##
y<-c(2,7,9,10) #generamos un vector "y" con los valores 2, 7, 9 y 10
y*y #multiplicando cada valor
## [1] 4 49 81 100
1/y #el inverso de "y"
## [1] 0.5000000 0.1428571 0.1111111 0.1000000
y-1 #restando 1 a cada elemento del vector
## [1] 1 6 8 9
min(y) #valor minimo del vector
## [1] 2
max(y) #valor mƔximo
## [1] 10
sum(y)
## [1] 28
#Lógicos###########################################################################
num_vect<-c(0.5,55,-10,6) #se genera un vector con estos valores y se asigna a num_vect
tf<-num_vect<1 # se quiere identificar cuƔles elementos del vector num_vect son menores a 1 y se guarda el resultado en tf
num_vect>=6 # se quiere identificar cuƔles elementos del vector num_vect son mayores o iguales a 6
## [1] FALSE TRUE FALSE TRUE
#<, >=` son operadores lógicos. Otros son: >`, `<=`, `==` para igualdad exacta, y `!=` para diferencia
A<-c(0,1,12)
B<-c(3,4,5)
condicion1<-A>10 & B >10
condicion2<-A >10 | B >10
condicion3<-A!=0
##Ejercicios##
#1.Construya un objeto llamado Z que contenga el valor de 11.5.
#2.Construya un vector llamado A que contenga los valores 2,3,6,7,8.5 y 10.
#3.Imprima el objeto A en la consola para consultar los valores del vector.
#4.SĆŗmele 20 a cada elemento del vector A e imprima los resultados en la consola.
#5.Súmele 10 y divida por 2 el vector A, el resultado guÔrdelo en un objeto llamado K.
#6.Obtenga el tercer valor del objeto K e imprima el resultado en la consola.
######Tablas de frecuencia###########
#lanzamiento de una moneda 10 veces
tabla=sample(0:1, 10, replace=TRUE)
print(tabla)
## [1] 0 1 1 1 1 0 1 0 0 0
prop.table(table(tabla))
## tabla
## 0 1
## 0.5 0.5
######Estadisticos de Tendencia Central########
#promedio
a=c(1,2,3,4)
mean(a)
## [1] 2.5
b=seq(1:10)
mean(b)
## [1] 5.5
#Mediana
median(a)
## [1] 2.5
median(b)
## [1] 5.5
#Moda
c=c(1,1,2,3,5,6)
mode(c)
## [1] "numeric"
#Cuartiles
c=c(1,1,2,3,5,6)
quantile(c,0.25)
## 25%
## 1.25
quantile(c,0.75)
## 75%
## 4.5
summary(c)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 1.25 2.50 3.00 4.50 6.00
######Medidas de dispersion###########
var(c) #no se interpreta
## [1] 4.4
sd(c)
## [1] 2.097618
rango=max(c)-min(c)
promedio=mean(c)
desviacion=sd(c)
cv=desviacion/promedio
#####MƩtodos grƔficos#################
d=seq(5,100,length=60)
hist(d) #Histograma

hist(d,col="blue",main="Histograma")

hist(d,col="blue",main="Histograma",xlim=c(0,200), ylim = c(0,10))

boxplot(d) #diagrama de cajas

boxplot(d,col="green",main="Diagrama de Cajas")

boxplot(d,col="green",main="Diagrama de Cajas",ylim=c(0,120))

y=prop.table(table(tabla))
barplot(y) #diagrama de barras

x=seq(5,20,length=10)
z=seq(10,30,length=10)
plot(x,z)

### Ejercicio Situación 2 ################
#importar datos desde excel
datos1=read.table("clipboard",header=TRUE,dec=".") #leer los datos que se han copiado
class(datos1)
## [1] "data.frame"
summary(datos1)
## Intervencion Peso
## Length:90 Min. :26.92
## Class :character 1st Qu.:28.49
## Mode :character Median :29.36
## Mean :29.25
## 3rd Qu.:29.94
## Max. :31.18
datos1[1:50,2] #opc1
## [1] 29.61 27.99 30.17 30.97 28.93 27.27 28.24 29.50 27.89 30.23 27.68 28.48
## [13] 28.89 29.28 29.84 27.86 27.51 29.16 29.16 28.23 28.55 29.28 28.74 28.24
## [25] 26.92 28.17 27.81 28.31 29.87 28.66 29.24 28.27 29.14 27.26 29.68 28.51
## [37] 29.56 29.37 27.07 28.91 28.24 29.66 27.82 27.72 28.74 28.80 28.47 29.50
## [49] 27.97 28.46
datos1$Peso[1:50] #opc2
## [1] 29.61 27.99 30.17 30.97 28.93 27.27 28.24 29.50 27.89 30.23 27.68 28.48
## [13] 28.89 29.28 29.84 27.86 27.51 29.16 29.16 28.23 28.55 29.28 28.74 28.24
## [25] 26.92 28.17 27.81 28.31 29.87 28.66 29.24 28.27 29.14 27.26 29.68 28.51
## [37] 29.56 29.37 27.07 28.91 28.24 29.66 27.82 27.72 28.74 28.80 28.47 29.50
## [49] 27.97 28.46
pre=which(datos1$Intervencion=="Antes")
peso_antes=datos1[pre,2] #opc3
#Indicadores
mean(peso_antes)
## [1] 28.6766
median(peso_antes)
## [1] 28.605
sd(peso_antes)
## [1] 0.8831821
summary(peso_antes)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 26.92 28.04 28.61 28.68 29.28 30.97
#Graficos
hist(peso_antes,col="gray",main="Peso del Chocolate",xlim=c(26,32))
abline(v=c(28.5,31.5),col="red",lwd=3)

boxplot(peso_antes,col="gray",main="Peso del Chocolate",ylim=c(26,32))
abline(h=c(28.5,31.5),col="red",lwd=3)
