Práctica 2: Manipulación de los datos en RStudio.

Comprender las estructuras básicas de R, es importante para el manejo o manipulación de los datos. Dos de las estructuras más usuales para este curso, serán los vectores, las matrices y los DataFrame. Por tanto, se describe brevemente cada uno de ellos.

Vectores:

Objetos de dimensión simple, pueden contener datos numéricos, cadena de caracteres o datos lógicos. Representado en el lenguaje R como c(). En este caso, se creó un vector de nombre “vector” = a los números del 1 al 8. vector <- c(1,2,3,4,5,6,7,8), la función print(nombre del objeto), permite la visualización del objeto “vector” que se creó.

vector = c(1,2,3,4,5)
print(c("vector:", vector))

# También podemos acortar el código anterior poniendo 1:5, producirá un vector con los elementos del 1 al 5
vector1=c(1:5)
print(c("vector1:", vector))

#ambos producen el mismo resultado.
[1] "vector:" "1"       "2"       "3"       "4"       "5"
[1] "vector1:" "1"        "2"        "3"        "4"        "5"

En ocasiones se requiere hallar el contenido de un vector en una ubicación determinada, para ello hacemos uso de los corchetes [posición]; por ejemplo, si se requiere conocer el contenido del objeto vector en la posición 3, se aplica corchetes y en este caso es el número 3.

#contenido de la posición 3 en vector
vector[3]
3

Matrices

Pueden ser descritas como vectores de dos dimensiones (filas y columnas), solo pueden contener datos de un solo tipo, es decir, no pueden contener datos numéricos combinados con texto.

Para crear un objeto tipo matriz se utiliza el código matrix(x,nrow=,ncol=), donde el x es el contenido de la matriz, nrow= el número de filas que contendrá la matriz y ncol=el número de columnas que contendrá la matriz

matriz <- matrix(1:6, nrow = 3) #se crea una matriz que contiene los números del 1 al 6 con 3 filas 2 columnas (3x2)
print(matriz)
matriz <- matrix(1:6, ncol = 3) #se crea una matriz que contiene los números del 1 al 6 con 3 columnas 2 filas (2x3)
print(matriz)
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Similar a los vectores, en las matrices también se puede acceder a las ubicaciones de los elementos a través del uso de corchetes[], pero en esta ocasión se debe introducir la coordenada en fila y en columna [fila, columna]; por ejemplo si se desea conocer el valor que contiene la matriz anterior 2x3 en la ubicación [1,3], el valor será 5, y se halla así:

matriz[1,3]
5

De forma similar, se pueden obtener los elementos de una fila o una columna

matriz[,2] #elementos de la columna 2

matriz[2,]# elementos de la fila 2
  1. 3
  2. 4
  1. 2
  2. 4
  3. 6

Por otro lado, existen algunas funciones básicas que permitirán también la visualización de los datos o conocer las características de los objetos que se estan manipulando (matrices o vectores). Algunas de estas funciones que se utilizarán en el curso, son:

length(matriz) #longitud de la matriz, contiene 6 datos
6
dim(matriz)# dimensión de la matriz, matriz de 2x3
  1. 2
  2. 3
ncol(matriz)# numero de columnas de la matriz
3
nrow(matriz) # número de filas de la matriz
2
print(head(matriz,1)) #muestra el primer registro de la matriz
     [,1] [,2] [,3]
[1,]    1    3    5
print(tail(matriz,1)) # último regstro de la matriz
     [,1] [,2] [,3]
[2,]    2    4    6
min(matriz) #el valor mínimo de la matriz
1
max(matriz) # el valor máximo de la matriz
6
sum(matriz)# suma los elementos de la matriz o vector
21
mean(matriz)#promedio de la matriz o vector
3.5
apply(matriz,2,mean) #aplica el promedio de cada columna de la matriz.
  1. 1.5
  2. 3.5
  3. 5.5

Si se requiere el promedio de la matriz por filas, se debe cambiar el por el 1

Ciclos For para recorrer elementos o completar matrices

Un for en programación se utiliza cuando se queire repetir un conjunto de instrucciones un número finito de veces. Muy útil cuando se requiere recorrer una matriz con un gran número de elementos o aplicar una acción repetitiva en cada uno de los elementos como obtener rendimientos individulales de una matriz de precios.

En este ejemplo se creará el objeto vector_2, el cual será un vector con los elementos del 1 al 20. Pero a cada elemento del vector se le multiplicará por 2, obteniendo así un vector con los elementos duplicados.

vector_2=vector()

for(i in 1:20){

  vector_2[i] = i*2

  }
print(vector_2)
[1]  2  4  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Ejercicio práctico

  1. Del ejercicio anterior Práctica 1, usted debe contar con una base de datos de 2 columnas y aproximadamente 250 filas,(matriz de 250x2) cargue esa matriz y aplique las fuciones descritas anteriormente.

  2. Extraiga la columna 2 de la matriz de precios y divida cada precio por $3.800 pesos utilizando el ciclo For, de esta obtendra los valores unitarios del precio en USD