R-conomía

Analítica Económica con R

Curso de R para estudiantes de Economía

Profesor José Díaz Montenegro

2023-09-16

Objetivos del Curso

Este curso está diseñado para introducir a los estudiantes de economía en el lenguaje de programación R. Al finalizar el curso, los estudiantes podrán:

  1. Entender los fundamentos de R: Familiarizarse con la sintaxis básica y las características fundamentales de R.
  2. Análisis de datos económicos: Utilizar R para importar, manipular y analizar conjuntos de datos económicos.
  3. Visualización de datos: Crear gráficos y visualizaciones para interpretar y presentar datos económicos.
  4. Modelado estadístico: Implementar modelos estadísticos básicos relevantes para la economía.
  5. Automatización de tareas: Escribir scripts en R para automatizar tareas repetitivas y análisis.

Este curso combinará teoría, ejemplos prácticos y ejercicios para garantizar una comprensión profunda y aplicada de R en el contexto económico.


1 Matemáticas Básicas con R

1.1 Aritmética

R permite realizar operaciones aritméticas básicas con facilidad. Veamos algunas aplicaciones relacionadas con la economía.

Ejemplo 1: Supongamos que queremos calcular el PIB per cápita de un país. Si el PIB es de 50,000 millones de dólares y la población es de 5 millones, entonces:

PIB <- 50000  # en millones de dólares
poblacion <- 5  # en millones
PIB_per_capita <- PIB / poblacion
PIB_per_capita
## [1] 10000

Definición de PIB per cápita

El PIB per cápita es una medida económica que divide el Producto Interno Bruto (PIB) de un país entre su número total de habitantes. Es una forma de representar el rendimiento económico de un país desde una perspectiva individualizada y se utiliza frecuentemente como un indicador del nivel de vida o bienestar económico de una población.

Ejemplo 2: Cálculo de la tasa de desempleo

En un país pequeño, hay 500 personas desempleadas y la fuerza laboral total es de 10,000 personas. Calculemos la tasa de desempleo para este país.

# Número de personas desempleadas y fuerza laboral total
personas_desempleadas <- 500
poblacion_economicamente_activa <- 10000

# Cálculo de la tasa de desempleo
tasa_desempleo <- (personas_desempleadas / poblacion_economicamente_activa) * 100
tasa_desempleo
## [1] 5

Tasa de desempleo

La tasa de desempleo es una métrica que muestra el porcentaje de la fuerza laboral que está desempleada, pero que busca activamente empleo. Se calcula utilizando la siguiente fórmula:


Ejemplo 3: Ingresos por Exportación de Petróleo

Imagina que un país exporta petróleo y desea saber cuánto ingresará si vende 1 millón de barriles a un precio de $70 por barril.

# Cantidad de barriles a vender
barriles <- 1000000  # en barriles

# Precio por barril
precio_por_barril <- 70  # en dólares

# Cálculo de ingresos por la venta
ingresos = barriles * precio_por_barril
ingresos
## [1] 7e+07

1.2 Logaritmos y Exponenciales

En economía y en muchas disciplinas, es frecuente la transformación logarítmica de ciertos datos. Esta transformación es relevante porque permite, entre otras cosas, convertir problemas de crecimiento multiplicativo en problemas aditivos más simples.

Ejemplo 4: Análisis del Crecimiento del PIB Utilizando Transformaciones Logarítmicas

Quieres analizar el crecimiento del PIB de un país. En lugar de trabajar con el PIB bruto, podrías trabajar con el logaritmo del PIB para simplificar el análisis del crecimiento porcentual año tras año.

# Datos ficticios del PIB a lo largo de 5 años
PIB <- c(1000, 1050, 1120, 1180, 1250)

# Logaritmo natural del PIB
log_PIB <- log(PIB)
log_PIB
## [1] 6.907755 6.956545 7.021084 7.073270 7.130899

Hay un tipo particular de logaritmo que es comúnmente utilizado en matemáticas, el logaritmo natural, que utiliza como base el número de Euler, denotado generalmente como e y aproximadamente igual a 2.718..

El número de Euler da origen a la función exponencial, definida como \(e\) elevado a la potencia de \(x\). Esta función, \(f(x) = e^x\), también se escribe como exp(x) en R y es el inverso del logaritmo natural.

Ejemplo 5: Proyección del PIB usando la Tasa de Crecimiento Compuesto

Una economía tiene una tasa de crecimiento constante del 5% anual. Si queremos calcular cuánto habrá crecido la economía después de 3 años, podemos usar una función exponencial para modelar este crecimiento.

La relación matemática para describir el crecimiento compuesto es:

\[ P(t) = P_0 \times e^{rt} \]

Donde:

  • \(P(t)\) es la cantidad final después de \(t\) años.
  • \(P_0\) es la cantidad inicial (en este caso, el PIB inicial).
  • \(r\) es la tasa de crecimiento (5% o 0.05 en este caso).
  • \(t\) es el tiempo (3 años en este caso).
P0 <- 100  # Supongamos un PIB inicial de 100 mil millones de dólares.
r <- 0.05  # 5% de tasa de crecimiento
t <- 3  # 3 años

P_t <- P0 * exp(r * t)
P_t
## [1] 116.1834

Este cálculo nos dará el PIB proyectado después de 3 años con una tasa de crecimiento constante del 5%..

1.3 Notación E

La notación E es una forma estándar de presentar números muy grandes o muy pequeños en R y en otros lenguajes de programación. En la notación E, cualquier número \(x\) puede expresarse como \(x \times 10^y\) o, de manera equivalente, como \(x\text{e}y\). La notación E es especialmente útil cuando se trata de números con muchos dígitos, ya que permite una representación más compacta y fácil de leer.

Por ejemplo, el número \(2,342,151,012,900\) podría representarse en notación E como \(2.342151\text{e}+12\), lo que indica que debemos mover el punto decimal 12 posiciones a la derecha para obtener el número original.

En R, cuando se trabaja con números muy grandes o muy pequeños, el software automáticamente presenta los números en notación E para facilitar la lectura:

numero_grande <- 2342151012900
numero_grande
## [1] 2.342151e+12
numero_pequeño <- 0.0000002533
numero_pequeño
## [1] 2.533e-07

Ejemplo 6: Deuda externa y pagos en notación científica

Imaginemos que un país pequeño tiene una deuda externa significativa debido a préstamos tomados de organismos internacionales. Esta deuda es tan grande que es más fácil expresarla en notación científica.

Supongamos que la deuda es de \(1.5 \times 10^{12}\) dólares (es decir, 1.5 billones de dólares). A este país se le ha ofrecido una oportunidad de realizar pagos anuales para reducir la deuda, pero debido a las tasas de interés y las condiciones del préstamo, el monto total a pagar cada año es de \(8.5 \times 10^{10}\) dólares.

¿Cuánto debe este país después del primer pago?

Para calcularlo, simplemente restamos el pago anual de la deuda total:

\[ Deuda_{restante} = Deuda_{inicial} - Pago_{anual} \]

Deuda_inicial <- 1.5e12  # 1.5 x 10^12 dólares
Pago_anual <- 8.5e10  # 8.5 x 10^10 dólares

Deuda_restante <- Deuda_inicial - Pago_anual
Deuda_restante
## [1] 1.415e+12

En este ejemplo, usamos la notación científica para representar números muy grandes y para simplificar los cálculos. La notación científica es especialmente útil en economía cuando se trata de cifras a gran escala, como deudas nacionales, PIBs de grandes países, o transacciones financieras globales.

Al observar el resultado, nos damos cuenta de que R nos muestra el valor en notación científica: 1.415e+12. Si deseamos ver el número completo sin esta notación, podemos utilizar la función format() con el argumento scientific = FALSE.

Veamos cómo se ve el número completo:

numero_completo <- format(Deuda_restante, scientific = FALSE)
numero_completo
## [1] "1415000000000"

Este resultado nos indica que, después del primer pago, el país aún debe 1,415,000,000,000 dólares.

2 Tipos y estructura de Datos en R

2.1 Datos Atómicos

En R, los tipos de datos más básicos se llaman “datos atómicos”. Estos incluyen:

  • Numeric: Números decimales o números enteros. Por ejemplo, ingresos, tasas de interés, entre otros.

Ejemplo 7: El PIB de un país en un año específico es de $2.5 billones y la tasa de interés es del 3.5%.

PIB <- 2.5  # en billones de dólares
tasa_interes <- 3.5  # en porcentaje
PIB
## [1] 2.5
tasa_interes
## [1] 3.5
  • Integer: Números enteros. A menudo usado para contar, como el número de empleados en una empresa.

Ejemplo 8: Una empresa tiene 1500 empleados.

num_empleados <- as.integer(1500)
num_empleados
## [1] 1500

En R, la función as.integer() se utiliza para convertir un objeto a tipo entero. Aunque el número 1500 ya es un número entero, al usar as.integer() estamos especificando explícitamente que queremos que R lo reconozca y lo maneje como un valor entero y no como un valor numérico general. Esta distinción es importante en ciertos contextos, especialmente cuando queremos asegurarnos de que una variable mantenga un tipo de dato específico.

  • Character: Cadenas de texto. Puede ser utilizado para nombres de países, nombres de empresas, entre otros.

Ejemplo 9: Consideremos los nombres de tres países en un análisis económico.

paises <- c("Ecuador", "Colombia", "Chile")
paises
## [1] "Ecuador"  "Colombia" "Chile"
  • Logical: Valores booleanos TRUE o FALSE. Puede ser utilizado para condiciones, como si un país está en recesión (TRUE o FALSE).

Ejemplo 10:Queremos verificar si tres países están o no en recesión.

en_recesion <- c(TRUE, FALSE, TRUE)  # Suponiendo que Ecuador y Chile están en recesión, pero Colombia no
nombres_paises <- c("Ecuador", "Colombia", "Chile")
data.frame(Nombre = nombres_paises, Recesion = en_recesion)
##     Nombre Recesion
## 1  Ecuador     TRUE
## 2 Colombia    FALSE
## 3    Chile     TRUE

La función data.frame() nos permite crear esta estructura. Cada columna en un data.frame puede ser de un tipo diferente, y cada columna tiene un nombre. En nuestro ejemplo, hemos creado un data.frame con dos columnas: “Nombre” y “Recesion”. La columna “Nombre” contiene cadenas de texto que representan los nombres de los países, mientras que la columna “Recesion” contiene valores lógicos (TRUE o FALSE) que indican si un país está en recesión.

  • Complex: Números complejos. Estos son menos comunes en aplicaciones económicas básicas.

Ejemplo 11: Supongamos que tenemos un número complejo que surge de un cálculo en econometría.

valor_complejo <- 2 + 3i
valor_complejo
## [1] 2+3i

2.2 Estructura de datos

  • Vectores

Un vector es una colección de elementos del mismo tipo. Por ejemplo, un vector de ingresos de diferentes individuos.

  • Matrices y Arrays

Las matrices son colecciones bidimensionales de elementos del mismo tipo. Podría ser utilizado para representar datos de series temporales de diferentes variables económicas.

  • Listas

Las listas son una colección ordenada que puede contener elementos de diferentes tipos. Por ejemplo, una lista que contiene datos numéricos, caracteres y lógicos.

  • Factores

Los factores son vectores que pueden contener etiquetas, y son muy útiles para representar categorías. Por ejemplo, niveles de educación: primaria, secundaria, terciaria.

  • Dataframes

Los data frames son tablas que pueden contener diferentes tipos de columnas. Es el formato más común para datasets en R, especialmente en análisis económicos.

  • Valores Especiales (Special Values)

Estos valores incluyen NA (que representa datos faltantes), NaN (que representa resultados indefinidos, como 0/0), Inf y -Inf (que representan infinito positivo y negativo).

  • Clases y Coerción (Classes and Coercion)

En R, cada objeto tiene una clase asociada, que determina cómo se comporta en diferentes contextos. La “coerción” se refiere al proceso de convertir un objeto de una clase a otra.

2.2.1 Vectores

Un vector en R es una colección ordenada de elementos que son todos del mismo tipo. Es una de las estructuras de datos más fundamentales en R y se utiliza ampliamente en análisis de datos y programación. En el contexto económico, los vectores pueden representar una serie de datos como tasas de crecimiento, precios de acciones, niveles de producción, entre otros.

Los vectores en R pueden ser de varios tipos, incluidos números, caracteres y valores booleanos. Esto permite a los economistas y analistas trabajar con una amplia variedad de datos. Por ejemplo, un vector podría contener las tasas de crecimiento del PIB de un país durante varios años, o los nombres de las empresas en un índice bursátil.

La capacidad de R para manejar y operar en vectores de manera eficiente lo hace extremadamente poderoso para análisis económicos. Las operaciones en vectores suelen ser más rápidas y requieren menos código que las operaciones en datos individuales, lo que permite a los economistas centrarse en el análisis en lugar de la programación.

2.2.1.1 Creación de un Vector

En R, la función más común para crear vectores es c(), que proviene de “concatenate” o “combinar”. Esta función permite combinar varios elementos en un solo vector.

Ejemplo 12: Queremos analizar las tasas de crecimiento anual del PIB de un país durante los últimos 5 años. Las tasas de crecimiento reportadas son: 2.5%, 3.1%, 2.8%, 3.6% y 3.3%. Estas tasas pueden ser representadas en R como un vector usando la función c().

# Creación de un vector
tasas_crecimiento <- c(2.5, 3.1, 2.8, 3.6, 3.3)
tasas_crecimiento
## [1] 2.5 3.1 2.8 3.6 3.3

En este ejemplo, el vector tasas_crecimiento contiene las tasas de crecimiento anual del PIB. Una vez que tenemos este vector, podemos realizar una variedad de análisis y operaciones en él, como calcular el crecimiento promedio o graficar las tasas a lo largo del tiempo.

2.2.1.2 Secuencias, Repetición, Ordenación y Longitudes

  • Secuencias con seq()

La función seq() permite generar secuencias de números de manera flexible. Es especialmente útil cuando se quiere generar series temporales o rangos de datos económicos.

Para crear una secuencia, puedes especificar un valor inicial (from), un valor final (to) y un intervalo (by):

Ejemplo 13: Imagina que estás realizando un análisis económico y quieres representar datos bianuales desde 2015 hasta 2023. La función seq() te permite generar rápidamente esta serie temporal.

# Generar una serie de años desde 2015 hasta 2023 con intervalos de 2 años
years <- seq(from=2015, to=2023, by=2)
years
## [1] 2015 2017 2019 2021 2023

En lugar de proporcionar un valor para el intervalo (by), también puedes especificar la longitud total de la secuencia usando length.out:

# Generar una secuencia de tasas de interés desde 1% hasta 10% con 20 puntos.
tasas_interes <- seq(from=0.01, to=0.10, length.out=20)
tasas_interes
##  [1] 0.01000000 0.01473684 0.01947368 0.02421053 0.02894737 0.03368421
##  [7] 0.03842105 0.04315789 0.04789474 0.05263158 0.05736842 0.06210526
## [13] 0.06684211 0.07157895 0.07631579 0.08105263 0.08578947 0.09052632
## [19] 0.09526316 0.10000000

Para secuencias decrecientes, el valor de by debe ser negativo:

# Decrecer la tasa de interés desde 10% hasta 1% con intervalos de -1%
tasas_decrecientes <- seq(from=0.10, to=0.01, by=-0.01)
tasas_decrecientes
##  [1] 0.10 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01

Nota: Es importante mencionar que seq() siempre iniciará en el valor from pero no siempre incluirá el valor to, dependiendo del intervalo o longitud especificada. Es esencial tener esto en cuenta al generar secuencias para análisis económicos.

  • Repetición con rep()

En ciertas ocasiones, en lugar de generar secuencias, es necesario repetir ciertos valores para representar datos o escenarios económicos específicos. La función rep() permite hacer exactamente eso.

Repetir un valor simple:

Supongamos que queremos repetir el valor de un producto específico, como un precio fijo durante varios años.

precio_fijo <- rep(x=50, times=5)  # Precio fijo de $50 durante 5 años
precio_fijo
## [1] 50 50 50 50 50

Repetir un vector de valores:

En un escenario donde queremos repetir una serie de tasas de interés para diferentes periodos.

tasas <- rep(x=c(0.05, 0.06, 0.07), times=3)  # Repetir las tasas de interés 3 veces
tasas
## [1] 0.05 0.06 0.07 0.05 0.06 0.07 0.05 0.06 0.07

Repetir cada valor de un vector individualmente:

Queremos asignar tasas de interés específicas a varios años consecutivamente.

tasas_anuales <- rep(x=c(0.05, 0.06, 0.07), each=2)  # Asignar cada tasa a 2 años consecutivos
tasas_anuales
## [1] 0.05 0.05 0.06 0.06 0.07 0.07

Combinar times y each para una repetición compuesta:

En escenarios más complejos, podemos querer repetir un conjunto de tasas varias veces y, al mismo tiempo, repetir cada tasa individualmente.

tasas_complejas <- rep(x=c(0.05, 0.06, 0.07), times=2, each=2)  
tasas_complejas
##  [1] 0.05 0.05 0.06 0.06 0.07 0.07 0.05 0.05 0.06 0.06 0.07 0.07
  • Ordenación con sort()

El análisis y visualización de datos a menudo requiere que los datos estén ordenados de una manera particular. La función sort en R facilita esta tarea y es especialmente útil en economía para ordenar series temporales, tasas de crecimiento, entre otros.

Ordenar un vector simple:

Tienes datos sobre las tasas de crecimiento anual de un país durante 4 años y deseas ordenar estos valores.

tasas_crecimiento <- c(2.5,-1,-10,3.44)

# Ordenar en orden ascendente
orden_ascendente <- sort(tasas_crecimiento, decreasing=FALSE)
orden_ascendente
## [1] -10.00  -1.00   2.50   3.44
# Ordenar en orden descendente
orden_descendente <- sort(tasas_crecimiento, decreasing=TRUE)
orden_descendente
## [1]   3.44   2.50  -1.00 -10.00

La función sort() toma al menos dos argumentos principales:

x: Es el vector que deseamos ordenar. En este caso, es el vector tasas_crecimiento.

decreasing: Es una opción lógica (TRUE o FALSE) que determina si el ordenamiento debe ser en orden descendente. Si decreasing es TRUE, el vector se ordena de mayor a menor. Si es FALSE (como en nuestro caso), se ordena de menor a mayor.

Por lo tanto, al usar sort(tasas_crecimiento, decreasing=FALSE), estamos solicitando que el vector tasas_crecimiento se ordene en orden ascendente, es decir, del valor más pequeño al más grande.

Ordenar secuencias:

A menudo, en el análisis económico, nos encontramos con la necesidad de ordenar secuencias de datos, ya sea para identificar tendencias, determinar máximos y mínimos, o simplemente para presentar información de manera más estructurada.

Consideremos una situación en la que tenemos una serie de tasas de inflación anuales proyectadas para los próximos 8 años. Podemos querer ordenar estas tasas para identificar cuál será el año con la inflación más alta o más baja.

Creemos primero una secuencia de tasas de inflación:

tasas_inflacion <- seq(from=4.3, to=5.5, length.out=8)
tasas_inflacion
## [1] 4.300000 4.471429 4.642857 4.814286 4.985714 5.157143 5.328571 5.500000

Supongamos que queremos identificar cuáles serán los años con las tasas más altas de inflación. Para ello, ordenamos la secuencia en orden descendente:

tasas_ordenadas <- sort(x=tasas_inflacion, decreasing=TRUE)
tasas_ordenadas
## [1] 5.500000 5.328571 5.157143 4.985714 4.814286 4.642857 4.471429 4.300000

La función sort() toma como primer argumento un vector que queremos ordenar (x=tasas_inflacion). Al establecer decreasing=TRUE, estamos especificando que queremos que la secuencia se ordene de mayor a menor. Si no incluimos el argumento decreasing o si lo establecemos como FALSE, sort() ordenará la secuencia en orden ascendente por defecto.

  • Determinar la longitud de un Vector con length()

Determinar cuántos datos o entradas hay en un vector es esencial en análisis económicos. Usamos la función length para este propósito.

# Ejemplo sencillo con tasas de crecimiento del PIB durante 4 años
length(x=c(3.2, 2.9, 3.5, 2.7))
## [1] 4
# Usando una secuencia, tal vez representando tasas de interés mensuales durante un año
length(x=seq(from=3.5, to=4.5, by=0.1))
## [1] 11
# Combinando datos de diferentes fuentes o tipos
meses <- 12
tasas_inflacion <- c(0.02, 0.03, 0.025, 0.015, 0.02, 0.03, 0.025, 0.015, 0.02, 0.03, 0.025, 0.015)
datos_combinados <- c(seq(from=3.5, to=4.5, by=0.1), rep(x=0.03, times=meses), tasas_inflacion)
length(x=datos_combinados)
## [1] 35

Estos ejemplos demuestran cómo determinar la longitud de diferentes conjuntos de datos económicos, ya sean tasas de crecimiento, tasas de interés o tasas de inflación.

2.2.2 Matrices y Arrays

2.2.2.1 Definición de matriz

Una matriz en R es una colección de elementos del mismo tipo (numéricos, lógicos, etc.) dispuestos en un arreglo bidimensional. En economía, las matrices pueden representar datos como series temporales para múltiples variables, matrices de transición en modelos de Markov, matrices de correlación, etc.

Para crear matrices en R, usamos la función matrix(), especificando los elementos de la matriz y sus dimensiones. Es importante que el número de elementos coincida con el producto de las filas (nrow) y las columnas (ncol).

# Ejemplo básico de creación de una matriz
# Representa datos económicos ficticios
A <- matrix(data=c(-3, 2, 893, 0.17), nrow=2, ncol=2)
A
##      [,1]   [,2]
## [1,]   -3 893.00
## [2,]    2   0.17

Las matrices pueden ser herramientas útiles para representar y analizar datos económicos, como tasas de crecimiento, inflación, o indicadores de mercado en distintos períodos.

# Creando una matriz para representar datos económicos
# Tasas de crecimiento e inflación durante dos años
datos_economicos <- matrix(data=c(2.5, 3.1, 1.7, 2.2), nrow=2)
colnames(datos_economicos) <- c("Crecimiento", "Inflación")
rownames(datos_economicos) <- c("2019", "2020")
datos_economicos
##      Crecimiento Inflación
## 2019         2.5       1.7
## 2020         3.1       2.2

2.2.2.2 Dirección de Llenado de Matrices en R

Llenado Columna por Columna (Por Defecto)

Llenado por Defecto: En R, cuando creamos una matriz con la función matrix(), los datos se llenan de manera predeterminada en un orden de columna por columna. Es decir, R llena primero una columna antes de pasar a la siguiente.

Ejemplo: Crear una matriz de 2x3 con llenado columna por columna

matriz_defecto <- matrix(data=c(1,2,3,4,5,6), nrow=2, ncol=3)
matriz_defecto
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6

Llenado Fila por Fila (Opción byrow)

Usando byrow=TRUE:

Podemos cambiar este comportamiento predeterminado utilizando el argumento byrow y estableciéndolo en TRUE. Esto hace que R llene la matriz fila por fila.

Ejemplo: Crear una matriz de 2x3 con llenado fila por fila

matriz_fila <- matrix(data=c(1,2,3,4,5,6), nrow=2, ncol=3, byrow=TRUE)
matriz_fila
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6

Esta característica es útil en economía para representar y analizar datos que tienen un orden específico, como series temporales o datos financieros estructurados.

Ejemplo: Representar datos de tasas de interés y desempleo en dos años consecutivos.

# Llenado por columnas para mantener el orden temporal
datos_economicos <- matrix(data=c(1.5, 3.5, 2.0, 4.1), nrow=2, byrow=TRUE)

# Asignando nombres a las columnas para representar los años
colnames(datos_economicos) <- c("2019", "2020")

# Asignando nombres a las filas para representar los indicadores económicos
rownames(datos_economicos) <- c("Tasa de Interés", "Desempleo")

datos_economicos
##                 2019 2020
## Tasa de Interés  1.5  3.5
## Desempleo        2.0  4.1

Ejercicios para el estudiante: Entendiendo el Llenado de Matrices

Ejercicio 1: Datos Financieros en Matrices:

Crea una matriz que represente ingresos y gastos de una empresa durante tres años. Asegúrate de que la matriz se llene de manera que los años estén en las columnas.

Ejercicio 2: Análisis de Datos Temporales:

Utiliza una matriz para representar datos de inflación mensual durante un año. Llena la matriz de forma que los meses estén en las filas.

2.2.2.3 Uniones de Filas y Columnas

Las funciones rbind y cbind en R son esenciales para combinar matrices. rbind (row bind) une matrices por filas, mientras que cbind (column bind) las une por columnas. Estas funciones son particularmente útiles en economía para combinar distintos conjuntos de datos, como series temporales o paneles de datos de diferentes fuentes.

Ejemplo: Combinando Datos de Diferentes Países

Supongamos que tienes dos conjuntos de datos: el PIB per cápita y la tasa de desempleo de dos países diferentes en el mismo conjunto de años. Podrías combinar estos datos para un análisis comparativo.

# Datos de PIB per cápita (en miles de dólares)
PIB_PaisA <- matrix(c(30, 32, 33, 35), ncol = 1)
PIB_PaisB <- matrix(c(25, 27, 28, 30), ncol = 1)

# Combinar usando cbind para obtener una matriz con ambos países
PIB_Combinado <- cbind(PIB_PaisA, PIB_PaisB)
colnames(PIB_Combinado) <- c("PaisA", "PaisB")

# Ver la matriz combinada
PIB_Combinado
##      PaisA PaisB
## [1,]    30    25
## [2,]    32    27
## [3,]    33    28
## [4,]    35    30

Ejemplo: Expansión de Series Temporales con Nuevos Datos

Imagine que tienes datos económicos de varios años y obtienes nuevos datos que deseas añadir a tu análisis.

# Datos económicos de 2018 a 2020
datos_2018_2020 <- matrix(c(2.5, 3.1, 4.0, 5.0, 5.5, 6.0), nrow = 3, byrow = TRUE)
rownames(datos_2018_2020) <- c("2018", "2019", "2020")

# Nuevos datos de 2021
datos_2021 <- matrix(c(6.5, 7.0), nrow = 1)

# Combinar usando rbind
datos_combinados <- rbind(datos_2018_2020, datos_2021)
rownames(datos_combinados) <- c("2018", "2019", "2020", "2021")

# Ver los datos combinados
datos_combinados
##      [,1] [,2]
## 2018  2.5  3.1
## 2019  4.0  5.0
## 2020  5.5  6.0
## 2021  6.5  7.0

Ejercicios para el estudiante:

Ejercicio 1: Análisis Comparativo de Inflación y Crecimiento Económico: Uniendo Datos con cbind

Tienes dos matrices, una con tasas de inflación y otra con tasas de crecimiento del PIB de un país durante cinco años. Une estas dos matrices para formar una única matriz que facilite el análisis comparativo entre inflación y crecimiento económico.

Ejercicio 2: Construyendo un Panorama del Comercio Exterior: Combinando Datos de Exportaciones e Importaciones con rbind

Construyendo un Panorama del Comercio Exterior: Combinando Datos de Exportaciones e Importaciones con rbind

2.2.2.4 Dimensiones de la Matriz

En R, comprender y manipular las dimensiones de una matriz es crucial, especialmente en el análisis de datos económicos. Esto incluye conocer el número de filas y columnas, así como redimensionar matrices cuando es necesario.

Ejemplo: Análisis de Datos de Comercio Internacional

Supongamos que tienes una matriz con datos de comercio (exportaciones e importaciones) de un país durante varios años. Es importante entender las dimensiones para un análisis correcto.

# Datos de comercio (en millones de USD)
datos_comercio <- matrix(c(100, 110, 120, 95, 105, 115), nrow = 3, byrow = TRUE)
rownames(datos_comercio) <- c("2019", "2020", "2021")
colnames(datos_comercio) <- c("Exportaciones", "Importaciones")

# Explorando las dimensiones
dim(datos_comercio) # Devuelve las dimensiones totales de la matriz
## [1] 3 2
nrow(datos_comercio) # Número de filas (años)
## [1] 3
ncol(datos_comercio) # Número de columnas (tipos de comercio)
## [1] 2

Ejemplo: Reestructuración de Datos Económicos

A menudo, los datos económicos deben ser reestructurados para un análisis más eficiente. Por ejemplo, podrías tener una matriz con datos que necesiten ser divididos o reorganizados.

# Datos del PIB y la población de un país durante cuatro años
datos_pib_poblacion <- matrix(c(2100, 2200, 2300, 2400, 50, 52, 54, 56), nrow = 4, byrow = TRUE)
rownames(datos_pib_poblacion) <- c("2019", "2020", "2021", "2022")
colnames(datos_pib_poblacion) <- c("PIB", "Población")

# Cambiando las dimensiones para separar PIB y Población
dim(datos_pib_poblacion) <- c(2, 4)
datos_pib_poblacion
##      [,1] [,2] [,3] [,4]
## [1,] 2100   50 2200   52
## [2,] 2300   54 2400   56

Ejercicios para el estudiante:

Ejercicio 1

Tienes una matriz con datos de producción y consumo de energía de un país durante cinco años. Redimensiona esta matriz para separar los datos de producción y consumo en dos matrices distintas.

# Datos de producción y consumo de energía (en terajulios)
datos_energia <- matrix(c(500, 520, 540, 560, 580, 480, 495, 510, 525, 540), ncol = 2)

# Tu tarea: Cambiar las dimensiones para obtener dos matrices distintas

Ejercicio 2

Dispones de una matriz que representa el PIB y la inversión extranjera directa (IED) de un país durante cuatro años. Necesitas reorganizar esta matriz para facilitar un análisis comparativo entre el PIB y la IED.

# Datos de PIB e IED (en miles de millones de USD)
datos_PIB_IED <- matrix(c(300, 320, 340, 360, 15, 16, 18, 20), nrow = 4, byrow = TRUE)

# Tu tarea: Redimensiona la matriz para separar PIB e IED

En economía, a menudo es necesario extraer información específica de matrices, como filas, columnas o incluso la diagonal principal. Esto es útil para el análisis de datos específicos dentro de un conjunto más amplio de datos económicos.

Ejemplo: Análisis de Datos Anuales de un Indicador Económico

Imagina que tienes una matriz con varios indicadores económicos a lo largo de varios años y necesitas analizar un indicador específico de un año en particular.

# Matriz con varios indicadores económicos (PIB, Inflación, Desempleo)
datos_indicadores <- matrix(c(2.1, 1.8, 3.5, 2.9, 4.0, 3.2, 5.5, 4.8, 3.9), nrow = 3, byrow = TRUE)
colnames(datos_indicadores) <- c("PIB", "Inflación", "Desempleo")
rownames(datos_indicadores) <- c("2019", "2020", "2021")

# Extrayendo datos de inflación del año 2020
inflacion_2020 <- datos_indicadores["2020", "Inflación"]
inflacion_2020
## [1] 4

Ejemplo: Comparación de Indicadores Económicos entre Años

En ocasiones, es necesario comparar el mismo indicador económico a lo largo de diferentes años para análisis de tendencias.

# Extrayendo datos de desempleo de todos los años
desempleo_todos_anos <- datos_indicadores[, "Desempleo"]
desempleo_todos_anos
## 2019 2020 2021 
##  3.5  3.2  3.9

Ejemplo: Análisis de la Relación entre Dos Indicadores Económicos

Para entender la relación entre dos indicadores económicos, como PIB e inflación, la extracción de la diagonal puede ser una herramienta útil.

# Creando una matriz de correlación entre PIB e Inflación
correlacion_PIB_Inflacion <- matrix(c(1, 0.3, 0.3, 1), nrow = 2)
rownames(correlacion_PIB_Inflacion) <- c("PIB", "Inflación")
colnames(correlacion_PIB_Inflacion) <- c("PIB", "Inflación")

# Extrayendo la diagonal principal
diagonal_correlacion <- diag(correlacion_PIB_Inflacion)
diagonal_correlacion
##       PIB Inflación 
##         1         1

Ejercicios para el estudiante Ejercicio 1

Tienes una matriz que contiene datos de exportaciones e importaciones de un país durante cinco años. Tu tarea es extraer los datos de exportaciones e importaciones del año más reciente.

# Datos de comercio exterior
datos_comercio <- matrix(c(100, 95, 90, 105, 100, 95), nrow = 3, byrow = TRUE)
colnames(datos_comercio) <- c("Exportaciones", "Importaciones")
rownames(datos_comercio) <- c("2019", "2020", "2021")

# Tu tarea: Extraer los datos del año 2021

Ejercicio 2

Dispones de una matriz que representa el crecimiento del PIB y la inversión en infraestructura de un país durante varios años. Debes extraer la serie de datos de inversión en infraestructura para un análisis detallado.

# Datos de PIB e inversión en infraestructura (en %)
datos_crecimiento_inversion <- matrix(c(2.5, 3.0, 3.5, 1.0, 1.5, 2.0), nrow = 3)
colnames(datos_crecimiento_inversion) <- c("Crecimiento PIB", "Inversión Infraestructura")
rownames(datos_crecimiento_inversion) <- c("2019", "2020", "2021")

# Tu tarea: Extraer la serie de inversión en infraestructura

2.2.2.5 Omitir y Sobrescribir

En el análisis de datos con matrices, es común que necesitemos omitir ciertas filas o columnas, o sobrescribir datos existentes con nuevos valores. Esta capacidad es especialmente útil en economía, donde los datos pueden necesitar ser actualizados o reajustados con frecuencia.

Ejemplo: Actualización de Datos Económicos

Supongamos que tienes una matriz con datos de inflación de varios años y necesitas actualizar los datos del año más reciente.

# Datos de inflación de 2017 a 2021
inflacion <- matrix(c(1.8, 2.1, 1.9, 2.2, NA), nrow = 5)
rownames(inflacion) <- c("2017", "2018", "2019", "2020", "2021")

# Actualizar datos de 2021
inflacion[5, ] <- 2.3

# Ver los datos actualizados
inflacion
##      [,1]
## 2017  1.8
## 2018  2.1
## 2019  1.9
## 2020  2.2
## 2021  2.3

Ejemplo: Exclusión de Datos Anómalos o Irrelevantes

En ocasiones, es necesario excluir datos que no son relevantes para el análisis actual. Por ejemplo, si tienes una matriz con datos económicos que incluye un año con información incompleta o anómala.

# Datos de PIB de 2016 a 2020
PIB <- matrix(c(500, 520, 540, NA, 580), nrow = 5)
rownames(PIB) <- c("2016", "2017", "2018", "2019", "2020")

# Excluir el año 2019
PIB <- PIB[-4, ]

# Ver los datos sin el año 2019
PIB
## 2016 2017 2018 2020 
##  500  520  540  580

Ejercicios para el estudiante

Ejercicio 1

Tienes una matriz con datos de desempleo y empleo de un país durante cinco años. El último año presenta un error en los datos de empleo. Tu tarea es corregir este error reemplazando el valor incorrecto con el valor correcto.

# Datos de empleo y desempleo
empleo_desempleo <- matrix(c(5.1, 4.9, 5.2, 5.0, 6.3, 50, 52, 53, 55, NA), nrow = 5, byrow = TRUE)
colnames(empleo_desempleo) <- c("Desempleo", "Empleo")
rownames(empleo_desempleo) <- c("2017", "2018", "2019", "2020", "2021")

# Tu tarea: Corregir el dato de empleo de 2021

Ejercicio 2

Dispones de una matriz con datos de exportaciones e importaciones de un país durante varios años. Sin embargo, los datos del primer año son incorrectos y deben ser omitidos del análisis.

# Datos de comercio exterior
comercio_exterior <- matrix(c(100, 110, 120, 95, 105, 115), nrow = 3, byrow = TRUE)
colnames(comercio_exterior) <- c("Exportaciones", "Importaciones")
rownames(comercio_exterior) <- c("2019", "2020", "2021")

# Tu tarea: Omitir los datos del año 2019

2.2.2.6 Arrays Multidimensionales

Los arrays multidimensionales son estructuras de datos que permiten almacenar información en más de dos dimensiones, lo que los hace herramientas poderosas en el análisis económico, especialmente cuando se trabaja con datos que tienen múltiples capas de variables y períodos de tiempo.

Definición Un array en R es similar a una matriz, pero puede tener más de dos dimensiones. Esto es especialmente útil cuando se trabaja con series de tiempo de múltiples variables o con paneles de datos que incluyen diferentes categorías o dimensiones. Por ejemplo, se pueden tener datos de PIB, inflación y desempleo de varios países a lo largo de varios años.

Ejemplo: Datos Económicos Multidimensionales

Supongamos que necesitas analizar el PIB, la inflación y la tasa de desempleo de tres países durante cinco años. Un array tridimensional puede ser una excelente manera de organizar estos datos.

# Crear un array con dimensiones para Año, Indicador Económico y País
datos_economicos <- array(data = c(1:45), dim = c(5, 3, 3))
dimnames(datos_economicos) <- list(
  Año = c("2019", "2020", "2021", "2022", "2023"),
  Indicador = c("PIB", "Inflación", "Desempleo"),
  País = c("País A", "País B", "País C")
)
# Ver el array
datos_economicos
## , , País = País A
## 
##       Indicador
## Año    PIB Inflación Desempleo
##   2019   1         6        11
##   2020   2         7        12
##   2021   3         8        13
##   2022   4         9        14
##   2023   5        10        15
## 
## , , País = País B
## 
##       Indicador
## Año    PIB Inflación Desempleo
##   2019  16        21        26
##   2020  17        22        27
##   2021  18        23        28
##   2022  19        24        29
##   2023  20        25        30
## 
## , , País = País C
## 
##       Indicador
## Año    PIB Inflación Desempleo
##   2019  31        36        41
##   2020  32        37        42
##   2021  33        38        43
##   2022  34        39        44
##   2023  35        40        45

la instrucción datos_economicos <- array(data = c(1:45), dim = c(5, 3, 3)) crea un array tridimensional llamado datos_economicos con dimensiones 5x3x3, que se rellena con los números del 1 al 45. Si la cantidad de elementos (45 en este caso) no es suficiente para llenar completamente el array, R reciclará estos valores hasta llenar todas las celdas del array. En este caso, como el número total de celdas en el array (5 * 3 * 3 = 45) coincide exactamente con la cantidad de datos proporcionados, no hay necesidad de reciclar.

La función dimnames asigna etiquetas a cada una de estas dimensiones. Veamos cómo funciona cada parte de la instrucción:

Año = c(“2019”, “2020”, “2021”, “2022”, “2023”): Esto asigna nombres a la primera dimensión del array, que en este caso serían los años. Dado que la primera dimensión tiene una longitud de 5, se proporcionan cinco nombres correspondientes a los años 2019 a 2023.

Indicador = c(“PIB”, “Inflación”, “Desempleo”): Asigna nombres a la segunda dimensión. Aquí, los tres indicadores económicos (PIB, Inflación, Desempleo) se usan como etiquetas para las columnas de cada matriz en el array.

País = c(“País A”, “País B”, “País C”): Finalmente, esto asigna nombres a la tercera dimensión del array. Cada una de las tres matrices dentro del array se asocia con un país diferente (País A, País B, País C).

Ejemplo: Análisis Comparativo entre Países

# Extraer los datos de PIB para todos los países en 2021
PIB_2021 <- datos_economicos["2021", "PIB", ]
# Ver los datos
PIB_2021
## País A País B País C 
##      3     18     33

Ejercicios para el estudiante

Ejercicio 1

Tienes un array que contiene datos de PIB, inflación y desempleo de tres países durante cinco años. Tu tarea es extraer los datos de inflación de todos los países para el año más reciente.

# Tu tarea: Extraer los datos de inflación para el año 2023

Ejercicio 2

Dispones de un array con datos económicos, pero los datos de desempleo del segundo país son incorrectos y deben ser sobrescritos con nuevos valores. Realiza esta tarea utilizando la asignación de valores en un array.

# Tu tarea: Sobrescribir los datos de desempleo del País B

2.2.3 Valores lógicos

2.2.3.1 Operadores relacionales

Los operadores relacionales en R son herramientas fundamentales para el análisis de datos, especialmente en economía. Permiten realizar comparaciones entre valores, lo que es esencial para identificar tendencias, cumplimiento de criterios, o clasificaciones.

Operadores Relacionales Básicos en R: - ==: Igual a - !=: No igual a - <: Menor que - >: Mayor que - <=: Menor o igual que - >=: Mayor o igual que

Estos operadores se utilizan para comparar valores y devuelven resultados lógicos (TRUE o FALSE).

Ejemplo: Identificando Países con Alto PIB per Cápita

Supongamos que tienes un conjunto de datos del PIB per cápita de varios países y quieres identificar cuáles tienen un PIB per cápita superior a $30,000.

# Datos de PIB per cápita de diferentes países
pib_per_capita <- c("USA" = 65000, "Germany" = 48000, "Brazil" = 15000, "India" = 2000)

# Identificar países con PIB per cápita superior a $30,000
paises_alto_pib <- pib_per_capita > 30000
paises_alto_pib
##     USA Germany  Brazil   India 
##    TRUE    TRUE   FALSE   FALSE

Ejemplo: Comparando Tasas de Inflación

Imagina que estás analizando la tasa de inflación anual de un país y quieres saber en qué años superó el 5%.

# Tasas de inflación por año, con nombres asignados correctamente
inflacion_anual <- c(`2018` = 4.2, `2019` = 3.5, `2020` = 5.7, `2021` = 6.1)

# Años con inflación superior al 5%
inflacion_alta <- inflacion_anual > 5
inflacion_alta
##  2018  2019  2020  2021 
## FALSE FALSE  TRUE  TRUE

Ejercicios para el estudiante

Ejercicio 1

Tienes datos de desempleo de un país durante cinco años. Tu tarea es identificar en qué años la tasa de desempleo fue inferior al 5%.

# Tasas de desempleo
desempleo <- c(6.5, 5.2, 4.9, 7.1, 4.7)

# Nombres para cada elemento del vector
names(desempleo) <- c("2017", "2018", "2019", "2020", "2021")

# Tu tarea: Identificar años con desempleo inferior al 5%

Ejercicio 2

Dispones de una lista de tasas de crecimiento del PIB de diferentes países. Encuentra qué países tuvieron un crecimiento negativo.

# Tasas de crecimiento del PIB por país
crecimiento_PIB <- c("USA" = 2.3, "Japan" = -1.0, "UK" = 1.5, "China" = 6.0, "Russia" = -0.5)

# Tu tarea: Identificar países con crecimiento negativo del PIB

2.2.3.2 Factores

Identificando categorías

Los factores en R son estructuras de datos que se utilizan para representar y manejar datos categóricos. Son especialmente importantes en el análisis de datos económicos, donde las categorías como niveles de ingresos, regiones geográficas, o clasificaciones de industrias son comunes.

¿Qué son los Factores? Los factores son variables en R que toman un número limitado de diferentes valores; estos valores son las categorías del factor. Al trabajar con datos económicos, los factores permiten agrupar y analizar conjuntos de datos basados en categorías específicas.

Ejemplo: Clasificación de Países por Nivel de Ingresos

Supongamos que tienes una lista de países y quieres clasificarlos según su nivel de ingresos: bajo, medio y alto.

# Lista de países
paises <- c("Alemania", "Brasil", "India", "Noruega")

# Niveles de ingresos correspondientes
niveles_ingreso <- c("Alto", "Medio", "Bajo", "Alto")

# Crear un factor con niveles de ingreso
factor_ingreso <- factor(niveles_ingreso, levels = c("Bajo", "Medio", "Alto"))

# Asignar nombres a los niveles del factor
names(factor_ingreso) <- paises

# Ver el factor creado
factor_ingreso
## Alemania   Brasil    India  Noruega 
##     Alto    Medio     Bajo     Alto 
## Levels: Bajo Medio Alto

Ejemplo: Categorización de Datos Demográficos

En el análisis de encuestas, es común categorizar respuestas, como niveles de educación o rangos de edad.

# Niveles de educación en una encuesta
educacion <- c("Primaria", "Secundaria", "Universitaria", "Secundaria")

# Convertir en factor
factor_educacion <- factor(educacion, levels = c("Primaria", "Secundaria", "Universitaria"))

# Ver el factor
factor_educacion
## [1] Primaria      Secundaria    Universitaria Secundaria   
## Levels: Primaria Secundaria Universitaria

Ejercicios para el Estudiante

Ejercicio 1

Tienes un conjunto de datos con las regiones de un país y la cantidad de empresas en cada una. Categoriza las regiones en “Urbana” y “Rural” y crea un factor para representar estas categorías.

# Regiones y cantidad de empresas
regiones <- c("Región A", "Región B", "Región C", "Región D")
tipo_region <- c("Urbana", "Rural", "Urbana", "Rural")

# Tu tarea: Crear un factor para las regiones

Ejercicio 2

En una encuesta sobre preferencias de consumo, se preguntó a los encuestados su producto financiero favorito: “Cuenta de Ahorro”, “Tarjeta de Crédito”, “Préstamo Personal”. Crea un factor para categorizar estas respuestas.

# Respuestas de la encuesta
productos_financieros <- c("Cuenta de Ahorro", "Tarjeta de Crédito", "Préstamo Personal", "Cuenta de Ahorro")

# Tu tarea: Convertir estas respuestas en un factor

Definición y Ordenación de Niveles en Factores

En R, los factores se crean con la función factor(), y los niveles pueden ser definidos y ordenados según sea necesario. Esto es particularmente útil para asegurar que los análisis y gráficos respeten un orden específico.

Ejemplo: Categorización de Niveles de Ingreso

Supongamos que tienes datos sobre diferentes niveles de ingreso y necesitas clasificarlos en categorías como ‘Bajo’, ‘Medio’, ‘Alto’.

# Datos de ingreso
ingresos <- c("Alto", "Medio", "Bajo", "Alto", "Bajo")

# Crear un factor con niveles ordenados
factor_ingresos <- factor(ingresos, levels = c("Bajo", "Medio", "Alto"))
factor_ingresos
## [1] Alto  Medio Bajo  Alto  Bajo 
## Levels: Bajo Medio Alto

Ejemplo: Ordenación de Clasificaciones de Riesgo Crediticio

Si estás analizando datos de riesgo crediticio, es importante tener un orden claro de las clasificaciones, como ‘AAA’, ‘AA’, ‘A’, ‘BBB’, ‘BB’, etc.

# Clasificaciones de riesgo
clasificaciones_riesgo <- c("AA", "BBB", "AAA", "BB", "A")

# Crear un factor con niveles ordenados
factor_riesgo <- factor(clasificaciones_riesgo, levels = c("AAA", "AA", "A", "BBB", "BB"))
factor_riesgo
## [1] AA  BBB AAA BB  A  
## Levels: AAA AA A BBB BB

Ejercicios para el Estudiante

Ejercicio 1

Dispones de datos sobre niveles educativos de individuos y necesitas crear un factor que los clasifique de manera ordenada desde ‘Primaria’ hasta ‘Doctorado’.

# Niveles educativos
niveles_educativos <- c("Bachillerato", "Doctorado", "Primaria", "Maestría", "Secundaria")

# Tu tarea: Crear un factor con niveles ordenados

Ejercicio 2

Tienes un conjunto de datos sobre categorías laborales en una economía. Necesitas organizar estos datos en un factor con niveles específicos como ‘Empleado’, ‘Autónomo’, ‘Desempleado’, etc.

# Categorías laborales
categorias_laborales <- c("Empleado", "Desempleado", "Autónomo", "Empleado", "Desempleado")

# Tu tarea: Crear y ordenar un factor con estas categorías

2.2.3.3 Caracteres: Subcadenas y Coincidencias

El manejo de cadenas de caracteres es una habilidad esencial en la programación y el análisis de datos, especialmente cuando se trabaja con textos, nombres, etiquetas y otras formas de datos no numéricos. En economía, esto es particularmente útil para procesar y analizar datos categóricos, como nombres de países, categorías económicas, o incluso al realizar búsquedas y filtrados en conjuntos de datos.

Funciones de Subcadenas y Coincidencias en R

R ofrece varias funciones para trabajar con subcadenas y realizar coincidencias de patrones. Las más comunes incluyen:

substr(): Extrae o reemplaza subcadenas de una cadena de caracteres.

grep(): Busca patrones dentro de un vector de cadenas.

grepl(): Similar a grep(), pero devuelve un vector lógico.

strsplit(): Divide una cadena de caracteres en subcadenas.

Ejemplo: Extracción de Nombres de Países de una Lista

Supongamos que tienes una lista de países en un formato específico y necesitas extraer solo el nombre del país.

# Lista de países con formato específico
lista_paises <- c("País: Estados Unidos", "País: Francia", "País: Japón")

# Extraer solo el nombre del país
nombres_paises <- substr(lista_paises, start = 7, stop = nchar(lista_paises))
nombres_paises
## [1] "Estados Unidos" "Francia"        "Japón"

lista_paises: Este es el vector de caracteres (strings) de entrada. Cada elemento del vector es una cadena de texto que representa, en este caso, un país.

substr(): Esta función se utiliza para extraer subcadenas de un texto. Recibe tres argumentos principales: el texto de entrada, la posición de inicio (start), y la posición de finalización (stop).

start = 7: Indica que la extracción de la subcadena debe comenzar en el séptimo carácter de cada elemento del vector lista_paises. Por ejemplo, si un elemento del vector es “País Alemania”, la extracción comienza desde la letra ‘A’ de “Alemania”.

stop = nchar(lista_paises): El argumento stop define dónde terminar la extracción. nchar(lista_paises) devuelve la longitud de cada elemento del vector lista_paises. Esto significa que la extracción continúa hasta el final de cada cadena de texto.

nombres_paises <-: Este es el operador de asignación en R. La subcadena extraída se almacena en la variable nombres_paises.

Ejemplo: Búsqueda de Categorías Económicas Específicas

Imagina que estás trabajando con un conjunto de datos que incluye varias categorías económicas y necesitas identificar aquellas que contienen la palabra “Agricultura”.

# Categorías económicas
categorias_economicas <- c("Manufactura", "Agricultura", "Servicios", "Agricultura y Pesca")

# Buscar categorías que contienen "Agricultura"
categorias_agricultura <- grep("Agricultura", categorias_economicas, value = TRUE)
categorias_agricultura
## [1] "Agricultura"         "Agricultura y Pesca"

Se utiliza la función grep() para buscar en el vector categorias_economicas todas las entradas que contienen la palabra “Agricultura”.

“Agricultura” es el patrón de búsqueda. categorias_economicas es el vector en el que se realiza la búsqueda. value = TRUE indica que grep() debe devolver los valores de las entradas que coinciden con el patrón, no solo sus índices.

Ejercicios para el Estudiante

Ejercicio 1

Tienes un vector con nombres completos de economistas famosos y debes extraer solo sus apellidos.

# Nombres completos
nombres_economistas <- c("Adam Smith", "John Maynard Keynes", "Milton Friedman")

# Tu tarea: Extraer los apellidos

Ejercicio 2

Dispones de un conjunto de datos con descripciones de varios indicadores económicos. Tu tarea es identificar aquellos indicadores que mencionen la palabra “Inflación”.

# Descripciones de indicadores
descripciones_indicadores <- c("Tasa de Inflación Anual", "PIB Nominal", "Tasa de Desempleo", "Inflación Subyacente")

# Tu tarea: Identificar indicadores que mencionen "Inflación"