Por lo general, en R se suelen trabajar conjunto de datos previamente armados y recolectados. Como puede ser un encuesta, series macroeconómicas o financieras, datos que cotidianamente se encuentra en csv, excel o do-file, etc.
Sin embargo, en R también se puede declarar manualmente dicha información mediante vectores. Quizás nunca utilices esta función para digitar una base de datos, pero si para combinarlas con otras funciones.
#Declarar un objeto en R
#Aclarar que se puede utilizar tanto "=" como "<-" para declarar un objeto.
#Escalar
x= 1
#Vector
x2=c(1,2,3,4,5,6,7,8,9,10)
Para visualizar los objetos o salidas, existen los siguientes comandos:
print(x2) #Muestra todas datos del conjunto o variable
## [1] 1 2 3 4 5 6 7 8 9 10
head(x2) #Muestra los primeros seis objetos, sino se específica, pero podemos definir cuántas debe mostrar:
## [1] 1 2 3 4 5 6
head(x2,3) #Muestra las primeras 3
## [1] 1 2 3
#La función tail() muestra las últimas seis por defecto o las que se especifique, pero siempre las últimas
tail(x2)
## [1] 5 6 7 8 9 10
tail(x2,3)
## [1] 8 9 10
#Por último, podemos simplemente correr el nombre
x2 #función igual a la de print
## [1] 1 2 3 4 5 6 7 8 9 10
Inspección de una base de datos
Cargamos la base de datos de ejemplo que viene en R,llamada “iris”
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
Representación gráfica
#Utilizamos el comando plot(datos)
plot(iris)
o un resumen estadístico con
summary(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
Otros comandos útiles son:
dim(iris) #Dimensión de los datos (filas x columnas)
## [1] 150 5
nrow(iris) #número de filas
## [1] 150
ncol(iris) #número de columnas
## [1] 5
colnames(iris) #Nombre de las columnas
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
Muchas veces el objetivo es trabajar un segmento del conjunto de datos, por lo cual, es necesario seleccionar filas y columnas. La forma convencional de hacerlo es la siguiente:
iris[1:10,] #Diez primeras filas, aclarar que, los ":" significan secuencia, es decir, del 1 al 10 en este caso
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
head(iris[,3:4]) #columnas 3 y 4
## Petal.Length Petal.Width
## 1 1.4 0.2
## 2 1.4 0.2
## 3 1.3 0.2
## 4 1.5 0.2
## 5 1.4 0.2
## 6 1.7 0.4
#el head no es necesario, utilizamos el head para no mostrar todos los datos, pero la función solo es name_datos[filas, columnas]
Otra forma de seleccionar columnas es mediante la etiqueta de estas
iris[,"Species"]
## [1] setosa setosa setosa setosa setosa setosa
## [7] setosa setosa setosa setosa setosa setosa
## [13] setosa setosa setosa setosa setosa setosa
## [19] setosa setosa setosa setosa setosa setosa
## [25] setosa setosa setosa setosa setosa setosa
## [31] setosa setosa setosa setosa setosa setosa
## [37] setosa setosa setosa setosa setosa setosa
## [43] setosa setosa setosa setosa setosa setosa
## [49] setosa setosa versicolor versicolor versicolor versicolor
## [55] versicolor versicolor versicolor versicolor versicolor versicolor
## [61] versicolor versicolor versicolor versicolor versicolor versicolor
## [67] versicolor versicolor versicolor versicolor versicolor versicolor
## [73] versicolor versicolor versicolor versicolor versicolor versicolor
## [79] versicolor versicolor versicolor versicolor versicolor versicolor
## [85] versicolor versicolor versicolor versicolor versicolor versicolor
## [91] versicolor versicolor versicolor versicolor versicolor versicolor
## [97] versicolor versicolor versicolor versicolor virginica virginica
## [103] virginica virginica virginica virginica virginica virginica
## [109] virginica virginica virginica virginica virginica virginica
## [115] virginica virginica virginica virginica virginica virginica
## [121] virginica virginica virginica virginica virginica virginica
## [127] virginica virginica virginica virginica virginica virginica
## [133] virginica virginica virginica virginica virginica virginica
## [139] virginica virginica virginica virginica virginica virginica
## [145] virginica virginica virginica virginica virginica virginica
## Levels: setosa versicolor virginica
Sin embargo, la forma más utilizada por los usuarios de R es
#luego del signo de dólar escribimos el nombre de la columna
iris$Species
## [1] setosa setosa setosa setosa setosa setosa
## [7] setosa setosa setosa setosa setosa setosa
## [13] setosa setosa setosa setosa setosa setosa
## [19] setosa setosa setosa setosa setosa setosa
## [25] setosa setosa setosa setosa setosa setosa
## [31] setosa setosa setosa setosa setosa setosa
## [37] setosa setosa setosa setosa setosa setosa
## [43] setosa setosa setosa setosa setosa setosa
## [49] setosa setosa versicolor versicolor versicolor versicolor
## [55] versicolor versicolor versicolor versicolor versicolor versicolor
## [61] versicolor versicolor versicolor versicolor versicolor versicolor
## [67] versicolor versicolor versicolor versicolor versicolor versicolor
## [73] versicolor versicolor versicolor versicolor versicolor versicolor
## [79] versicolor versicolor versicolor versicolor versicolor versicolor
## [85] versicolor versicolor versicolor versicolor versicolor versicolor
## [91] versicolor versicolor versicolor versicolor versicolor versicolor
## [97] versicolor versicolor versicolor versicolor virginica virginica
## [103] virginica virginica virginica virginica virginica virginica
## [109] virginica virginica virginica virginica virginica virginica
## [115] virginica virginica virginica virginica virginica virginica
## [121] virginica virginica virginica virginica virginica virginica
## [127] virginica virginica virginica virginica virginica virginica
## [133] virginica virginica virginica virginica virginica virginica
## [139] virginica virginica virginica virginica virginica virginica
## [145] virginica virginica virginica virginica virginica virginica
## Levels: setosa versicolor virginica
Para eliminar las columnas seleccionadas, basta con utilizar la misma sintaxis y anteponer el signo menos
head(iris[,-2]) #eliminar la segunda columna
## Sepal.Length Petal.Length Petal.Width Species
## 1 5.1 1.4 0.2 setosa
## 2 4.9 1.4 0.2 setosa
## 3 4.7 1.3 0.2 setosa
## 4 4.6 1.5 0.2 setosa
## 5 5.0 1.4 0.2 setosa
## 6 5.4 1.7 0.4 setosa
Eliminar objetos
ls() #Elimina lista de objetos en memoria
## [1] "x" "x2"
rm() #Elimina el objeto que se le especifique
Algunos gráficos, aunque a futuro se le dedicará una sección especial a gráficos
hist(iris$Sepal.Width)
barplot(VADeaths[,2], xlab = "Edad", ylab = "Tasa de mortalidad",
main= "Tasa de mortalidad", col = "steelblue")
plot(cars$speed, cars$dist, xlab = "Velocidad", ylab = "Distancia")
plot(airquality$Temp, type = "l")
plot(airquality$Temp)
lines(airquality$Temp, col = "red")
abline(h=mean(airquality$Temp), col = "blue")
boxplot(iris$Sepal.Width~iris$Species, col = "red")
Fuente: Bellosta, C. J. (2018). R para profesionales de los datos: una introducción.