Aprende a Programar en R desde 0 | Manipulación de Vectores | Clase 6


CÓDIGO R DE VIDEO 

#APrende R : MANIPULACIÓN DE DATOS 

#1. MANIPULACIÓN DE VECTORES
#2. MANIPULACIÓN MATRICES
#3. MANIPULACIÓN DE DATA FRAMES


#4 TRABAJO CON ATRIBUTOS
#5 MANIPULACIÓN DE CARACTER STRING 
#6.CREAR FACTORES DESDE CONTINUOS DATA



#1 MANIPULACION DE VECTORES


# Selección de un elemento del vector

x <- c(10, 8, 20, 4)

x[3]


# Mirar la longitud del vector

length(x)  # esto te puede servir luego al hacer funciones y demás


#Extraer los dos y 3 primeros números

x[1:2]

x[1:3]

# extraer un vector con el cuarto y el segundo elemento de x

x

x[c(4,2)]

#ejemplo con el 3,4, y 1

x[c(3,4,1)]

x
## CAMBIAR EL VALOR DE ALGUNOS ELEMENTOS DEL VECTOR

x[3] <- 4
x

#cambiamos los 3 rpimero elemenots poniendo el mismo valor

x[1:3] <- 1
x


### obtener un Subconjunto por un vector lógico

x <- c(10, 4, 6, 7, 8) 

#queremos saber los que son mayor a 9 

subconjunto <- x > 9
subconjunto

x[subconjunto]

# o también 

x[x > 9 ]


#Subsetting by negative natural numbers
#Si usa números naturales negativos en el vector de indexación, todos los elementos
#de x se seleccionan excepto los que están en el índice


x <- c(1, 2, 3, 6)

x[-(1:2)]

z <- c(10, 2, 1.5, 6)

z[-(1:2)]

z[-(3:4)]

z[-(8)]

z[8]


## Otras Funciones para trabajar con Vectores ( CARACTER ESTADÍSTICO)

# max() min() range(), prod(), sum(), any(), all()



x <- 1:10

min(x)
max(x)

sum(x)
prod(x)

range(x)


#POdemos crear un sumario con ellos juntos

c(sum = sum(x), prod = prod(x), min = min(x), max = max(x),range = range(x))


#Estas funciones también pueden ser usadas para más de un vector

#ejemplos

x <- 1:10
y <- 11:20
sum(x, y)
prod(x, y)
max(x, y)
min(x, y)


#comprobamos con vector más pequeño

x<- c(2,5)
y<- c(3,4)

sum(x,y)
prod(x, y)
max(x, y)
min(x, y)


#SUMAS ACUMULADAS DE VECTORES 
 #cumsum
 #cumprod
 #cummin
 #cummax

x<- c(2,5,3,10,5)

cumsum(x) 
  #•Desglose
   2+5 = 7
   7+3 = 10
   10+10=20
   20+5 =25
   
cumprod(x)   

cummin(x) #acumulacion del valor mínimo
x
cummax(x)


## cLASIFICAR Y ORDENAR VECTORES

#Podemos ordenar vector en orden ascendente y descendente

x1 <- c(2, 6, 4, 5, 5, 8, 8, 1, 3, 0)
x2 <- sort(x1)
x2
x3 <- sort(x1, decreasing = TRUE)
x3


#Con la función order puedes producir una permutación
#vector que indica cómo ordenar el vector de entrada en orden ascendente

x <- rnorm(10)
x

y <- 1:10
y

z <- order(x)
z

sort(x)



#otr ejemplo con y

y <- c(2, 6, 4, 5, 5, 8, 8, 1, 3, 0)
y[z]


## diferenciar un vector con diff

x <- c(2, 1, 6, 3, 12)
diff(x)

# desglose =  
1-2 = -1
6-1=5
3-6=-3
12-3=9

diff(x, lag = 2)
6-2=4
3-1=2
12-6= 6

diff(x, lag = 3)