Base de datos, Introdución a R

A continuación, serán descritas algunas de las funciones que pueden ser realizadas con el programa R, ello, con el fin de comprender su funcionamiento.

Lenguaje R

Es importate tener en cuenta que R no interpreta idiomas, su lenguaje se rige en el uso del signo #

# Hola R
# Olá, R 
# Hi R 
# Ni hao 

Guardar valores y objetos numéricos

R guarda valores y objetos, asignandole a cada objeto, un valor. Lo anterior, haciendo uso de los siguientes signos (<-) ubicados al final del nombre que fue asignado al valor.

mango<-15
mango<-23

Operaciones matemáticas

R permite realizar operaciones matemáticas e interpreta objetos de tipo numérico.

Suma

2 + 2 
## [1] 4

Resta

3 - 1
## [1] 2

Multiplicación

4*5
## [1] 20

División

12 / 3
## [1] 4

Potencia

7 ^ 2 
## [1] 49

Serie

0:25 
##  [1]  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## [26] 25

Respuesta a preguntas lógicas

R permite resolver preguntas propuestas en caracteres numéricos, como las siguientes:

3 == 5 
## [1] FALSE
5 != 0
## [1] TRUE
2 > 9
## [1] FALSE
1 < 8  
## [1] TRUE
5 >= 5
## [1] TRUE
4 <= 1
## [1] FALSE

Caracteres

R comprende valores numericos pero no nombres de tipo caracter.

Para agregar caracteres (valores textuales) que puedan ser interpretados por R, es necesario hacer uso de comillas, asi:

nome_1 <- "usp" 

Valores importantes

En R existen valores que son utilizados correspondientemente para objetos numericos y lógicos, como los siguientes:

Verdadero

TRUE #logical
## [1] TRUE
T #logical
## [1] TRUE

Falso

FALSE #logical
## [1] FALSE
F #logical
## [1] FALSE

No disponible (aparece en valores faltantes)

NA #logical 
## [1] NA

Anular vectores u objetos

NULL #NULL
## NULL

Valores infinitos

Inf #numeric
## [1] Inf
-Inf #numeric
## [1] -Inf

Vectores

En R, un vector es la estructura de datos sencilla, es una colección de uno o más datos del mismo tipo. Para generarlos, es necesario usar la función cocaternar, representada con la letra C().

Vector

vetor <- 
  c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Valores textuales

nomes <- c("mariana", "pedro", "daniela")

Funciones

Redondear

Permite descartar cifras en la expresión decimal de un número, tomando las cifras significativas que nosotros propongamos.

round(
  x = 3.141592)
## [1] 3
round(x = 3.141592, digits = 2)
## [1] 3.14

Coerción

Son caracteres e incluyen también valores numéricos para cada caracter. Así:

nomes_e_idades <- c("mariana", 22, "pedro", 30, "daniela", 45)

nomes_e_idades
## [1] "mariana" "22"      "pedro"   "30"      "daniela" "45"

Jerarquía - Valores textuales, numéricos y lógicos

R guarda un vector en el sentido en que la serie de comandos se encuentren en un orden predeterminado, es decir, una jerarquia. R organiza los valores, así: Caracter>Numérico>Lógico

teste <- c("laranja", 230, FALSE)

outro_teste <- c(12, 37, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE)

missings <- c(12, 37, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, NA)

Clasificación de variables

Variables categóricas

R puede transforma un caracter en un factor - variables.

tipo_sanguineo <- c(
  "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-")

tipo_sanguineo
## [1] "A+"  "A-"  "B+"  "B-"  "AB+" "AB-" "O+"  "O-"
class(tipo_sanguineo)
## [1] "character"

Transformación

R transforma una variable y arrojar el valor de la misma

tipo_sanguineo <- factor(tipo_sanguineo)

tipo_sanguineo
## [1] A+  A-  B+  B-  AB+ AB- O+  O- 
## Levels: A- A+ AB- AB+ B- B+ O- O+
class(tipo_sanguineo)
## [1] "factor"

Función factor

R permite organizar las variables por niveles, así:

nivel_escolarizacao <- c("fundamental", "medio", "pregrado")

nivel_escolarizacao
## [1] "fundamental" "medio"       "pregrado"
class(nivel_escolarizacao)
## [1] "character"

Bases de datos

R permite la creación de bases de datos con variables deseadas, por ejemplo:

empresas <- c("Empresa A", NA, "Empresa C", "Empresa D", "Empresa E")
funcionarios <- c(100, 5000, 230, 12000, 1700)
presenca_bolsa <- c(F,T,NA,T,TRUE)
sede_brasil <- c(NA,0,1,0,0)
diretor_executivo <- c(NA,"daniel","carlos","carla","solange")

Tabla con vectores

Para crear una tabla con vectores se utiliza data frame

dados <- data.frame(empresas, funcionarios, presenca_bolsa, 
                    sede_brasil, diretor_executivo)

dados
##    empresas funcionarios presenca_bolsa sede_brasil diretor_executivo
## 1 Empresa A          100          FALSE          NA              <NA>
## 2      <NA>         5000           TRUE           0            daniel
## 3 Empresa C          230             NA           1            carlos
## 4 Empresa D        12000           TRUE           0             carla
## 5 Empresa E         1700           TRUE           0           solange
View(dados)

Código de ayuda para bases de datos

help(package = "datasets")

Crear mi base de datos

Para observar la base de datos que fue escogida, usamos la siguiente función

Primeras observaciones

head(x = freeny)
##               y lag.quarterly.revenue price.index income.level market.potential
## 1962.25 8.79236               8.79636     4.70997      5.82110          12.9699
## 1962.5  8.79137               8.79236     4.70217      5.82558          12.9733
## 1962.75 8.81486               8.79137     4.68944      5.83112          12.9774
## 1963    8.81301               8.81486     4.68558      5.84046          12.9806
## 1963.25 8.90751               8.81301     4.64019      5.85036          12.9831
## 1963.5  8.93673               8.90751     4.62553      5.86464          12.9854

Últimas observaciónes

tail(x = freeny)
##               y lag.quarterly.revenue price.index income.level market.potential
## 1970.5  9.69958               9.69405     4.30909      6.17369          13.1459
## 1970.75 9.68683               9.69958     4.30909      6.16135          13.1520
## 1971    9.71774               9.68683     4.30552      6.18231          13.1593
## 1971.25 9.74924               9.71774     4.29627      6.18768          13.1579
## 1971.5  9.77536               9.74924     4.27839      6.19377          13.1625
## 1971.75 9.79424               9.77536     4.27789      6.20030          13.1664

Lineas que se desee observar

head(freeny, n = 1)
##               y lag.quarterly.revenue price.index income.level market.potential
## 1962.25 8.79236               8.79636     4.70997       5.8211          12.9699

Estructura str()

  • str() permite ver la estructura de la base de datos.
str(freeny)
## 'data.frame':    39 obs. of  5 variables:
##  $ y                    : Time-Series  from 1962 to 1972: 8.79 8.79 8.81 8.81 8.91 ...
##  $ lag.quarterly.revenue: num  8.8 8.79 8.79 8.81 8.81 ...
##  $ price.index          : num  4.71 4.7 4.69 4.69 4.64 ...
##  $ income.level         : num  5.82 5.83 5.83 5.84 5.85 ...
##  $ market.potential     : num  13 13 13 13 13 ...
  • nrow: Permite contar el número de lineas.
nrow(freeny)
## [1] 39
  • ncol: Permite contar el número de columnas.
ncol(freeny)
## [1] 5
  • dim: Permite ver la dimensión de la base de datos.
dim(freeny)
## [1] 39  5
  • names: Permite visualizar los nombres.
names(freeny)
## [1] "y"                     "lag.quarterly.revenue" "price.index"          
## [4] "income.level"          "market.potential"
  • rm: Permite eliminar.
rm(freeny)
## Warning in rm(freeny): objeto 'freeny' no encontrado

Cargar nuevamente la base de datos

data("freeny")