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]
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]
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
- 3
- 4
- 2
- 4
- 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
dim(matriz)# dimensión de la matriz, matriz de 2x3
- 2
- 3
ncol(matriz)# numero de columnas de la matriz
nrow(matriz) # número de filas de la matriz
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
max(matriz) # el valor máximo de la matriz
sum(matriz)# suma los elementos de la matriz o vector
mean(matriz)#promedio de la matriz o vector
apply(matriz,2,mean) #aplica el promedio de cada columna de la matriz.
- 1.5
- 3.5
- 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
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.
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