sábado, 25 de mayo de 2024

Indicadores. Nivel básico

El diagnóstico

El diagnóstico

Elaboración de indicadores

Beatriz Valdez


Empleo R para elaborar indicadores que faciliten analizar data en la fase del diagnóstico


La diagnosis o diagnóstico

Diagnosis es un sustantivo proveniente del griego que significa, por un lado, diferencia, a través de: dia; y conocer, conocimiento: gnosis (RAE 2001RAE. 2001. “Diccionario de La Lengua Española.” Real Academia de la Lengua Española. www.rae.es.). Significa literalmente conocer/(obtener) conocimiento o (hacer) diferencia a través de. La palabra nos sugiere, por tanto, la capacidad de distinguir, discernir o reconocer. Diagnóstico, que tiene el mismo origen de diagnosis, pero es un adjetivo, se emplea desde finales del siglo. V a.C. para indicar la capacidad para distinguir, reconocer (Dicciomed.es 2010Dicciomed.es. 2010. Diccionario Médico-Biológico, Histórico Y Etimológico. marzo. www.dicciomed.es.).

De acuerdo con Mendoza (2001Mendoza, W. 2001. La Planificación Como Parte Del Proceso Administrativo. https://tallerdeinvestigacionyensayo.files.wordpress.com/2008/05/la-planificacion-como-fase-de-l-proceso-administrativo.doc.), en la fase de diagnosis se investiga un sistema en un momento del tiempo (el presente) y en un período retrospectivo inmediato al presente. El objetivo de la fase de diagnosis de la planificación, siguiendo al autor es identificar los problemas, deficiencias e insuficiencias del sistema y la evolución de ellos en el tiempo, así como los factores determinantes o causas de los problemas (Ib)

En ocasiones, la información existente sobre un sistema es numérica. Las variables de ese sistema se han descompuesto para ofrecer los elementos mensurables. En estos casos, para identificar las deficiencias e insuficiencias, y mejoras del sistema es necesario interpretar la data. La planificación emplea la estadística, la demografía, la economía y otras disciplinas auxiliares en estos casos.

La información numérica generalmente se ofrece en cifras absolutas. Esto es, indicando la magnitud o cantidad nominal de la variable de interés, o del conjunto de ellas. Por ejemplo, en Venezuela existían 74 instituciones de educación superior en 1980. De éstas, 49 eran oficiales y 25 privadas. Para el año 2005, este número se había incrementado a 169, 76 oficiales y 96 privadas:

Venezuela. Instituciones de educación superior, 1980, 2005

Año Total Oficiales Privadas
1980 74 49 25
2005 169 73 96

Las cifras absolutas son útiles especialmente para indicar asignación de recursos económicos, financieros, humanos y tecnológicos. Las cifras absolutas, sin embargo, presentan limitaciones. Siguiendo con el ejemplo sobre instituciones de educación superior en Venezuela, en 1980 había más instituciones públicas de educación superior que instituciones privadas. En 2005, la situación es inversa. Hay más instituciones privadas de educación superior que instituciones publicas. Aún así, no podemos valorar con sólo un vistazo la profundidad de ese cambio.

Las cifras absolutas no ofrecen toda la riqueza de información que podría obtenerse de los datos. Riqueza que podemos obtener construyendo indicadores. La gran mayoría de los indicadores, independientemente del nombre que reciban, según la disciplina desde la que se les emplean, se elaboran usando razones, tasas, proporciones, índices, entre otros.

Para evaluar las deficiencias, insuficiencias o mejoras del sistema analizado, es preferible emplear indicadores

Repasaremos la forma de crear indicadores así como la interpretación en el contexto del diagnóstico. Usaré R durante ese procedimiento.

Construcción de indicadores

Existen numerosas definiciones de indicadores. Eligiremos la que nos ofrece Simone Cecchini (2005Cecchini, Simone. 2005. Indicadores Sociales En América Latina Y El Caribe. CEPAL.):

términos generales se puede denominarindicador a un instrumento construido a partir de un conjunto de valores numéricos o de categorías ordinales o nominales que sintetiza aspectos importantes de un fenómeno con propósitos analíticos.

Los indicadores nos permiten conocer los distintos aspectos de un (sub)sistemas, en particular los avances, retrocesos o estabilidad de sus componentes y, dentro de éstos, de sus elementos. Entre los diferentes instrumentos que se usan para construir indicadores tenemos:

Los indicadores nos permiten conocer los avances, retrocesos o estabilidad de los componentes y elementos de un sistema

  1. Razones,
  2. Proporciones,
  3. Porcentajes,
  4. Tasas, e
  5. Indices

Razón o relación

Las razones establecen la relación que existe entre dos subconjuntos (Briones 2003Briones, Guillermo. 2003. Métodos de Investigación Para Las Ciencias Sociales. Trillas.), por ejemplo entre hombres y mujeres. Con este instrumento, obtenemos información sobre cuántos elemento de uno de los subconjuntos, en este caso hombres, existenten en relación con el otro subconjunto, mujeres. Para ello uno de los subconjuntos se coloca en el numerador, y el otro en el denominador. El resultado se múltiplica por 100, 1000, 10000, etc, es decir por un amplificador, para facilitar la interpretación.

Las relaciones nos permiten saber cuántos elementos de un conjunto existen en relación con los elementos de otro subconjunto

Las relaciones presenta la siguiente forma:

\[\frac{Subconjunto.A}{Subconjunto.B}\cdot amplificador\]

Podemos encontrar razones o relaciones en indicadores tales como:

  • el índice de masculinidad,
  • indice Generacional de Ancianos,
  • relación de hombre/mujeres en educación

Tasas

Cuando se construye una razón para indicar un suceso que ocurre en un lapso determinado (la cifra se coloca en el numerador) y se relaciona con el número de sucesos similares,o con un grupo de personas (cifra en el denominador), se le denomina tasa. Así, tenemos por ejemplo:

  • la tasa de atención de salud (total de horas de atención de salud/total de población del municipio);
  • La tasa de empleo
  • La tasa de mortalidad bruta, entre otras

Tasa: Relaciona un suceso que ocurre en un lapso determinado con el número de sucesos similares o una grupo de personas

Una tasa importante que se emplea bastante en el seguimiento, control y evaluación de plans/programas/proyectos/políticas públicas, es la tasa de variación. Con ellas se mide qué tanto ha mejorado o no una realidad específica.

La tasa de variación tiene esta forma:

\[tasa de variacion\ = \frac{\left(fecha\ t2\ -fecha\ t1\right)}{fecha\ t1}\cdot100\]

Supongamos que se desea evaluar qué tanto ha variado el empleo entre 1980 y 1985. Al valor de 1985 se le resta el valor de 1980 y esa diferencia se divide entre el valor de 1980. El cociente obtenido se múltiplica por cien.

Proporción

La proporción es una razón en la que se compara el subconjunto, por ejemplo IOES , en relación al conjunto, todas las instituciones de educación superior. las proporciones se pueden multiplicar por 10, 100, 1000, o incluso 5, 20, etc. para facilitar la interpretación. Si la proporción se multiplica por cien, se tiene un porcentaje.También se pueden multiplicar por diez, y el resultado, entonces, se lee en tanto por diez. Las proporciones toman esta forma:

\[proporcion\ =\ \frac{subconjunto}{conjunto} \]

La proporción relaciona un subconjunto con el total, es decir con el conjunto

Indices

Un índice es una cifra que expresa en términos porcentuales, el cambio en una variable dada, tomando como referencia el valor de esa variable en un lapso determinado (Martínez-Bencardino 2003Martínez-Bencardino, Ciro. 2003. Estadística Y Muestreo. Ecoe Ediciones.). El año tomado como referencia se denomina año base.

Los índices expresan porcentualmente el cambio de una variable en el tiempo, tomando como base el valor de esa varible en un momento específico

Es necesario tener presente que un índice no mide el valor de la variable. Sólo señala la variación en sus precios, cantidades y valores. Por esta razón Briones (2003Briones, Guillermo. 2003. Métodos de Investigación Para Las Ciencias Sociales. Trillas.) nos advierte, particularmente para el caso de los índices socioeconómicos:

No está por demás expresar que estos procedimientos no son adecuados, ni aún desde el punto de vista cuantitativo, para el estudio de las clases sociales, como es frecuente en los llamados estudios de estratificación social. Desde luego, las categorías que pueden establecerse a partir de estas mediciones no tienen ni siquiera el carácter de cuasigrupos, ni mucho menos otras características deffinitorias, sociológicamente, de una clase social

En otras palabras, es necesario ser muy cuidadosos al derivar conclusiones sobre la situación social de un grupo de personas, tomando sólo como referencia el resultado de la aplicación de índices socioeconómicos. Los índices pueden ser simples, o pueden ser complejos. Pueden ser sumatorios o utilizar cualquier otro tipo de operación para relacionar los indicadores.

Los índices simples comparan la variación de una sola variable en e tiempo; los complejos, dos o más variables y Son sumatorios si los indicadores se suman para obtener el índice.

Entre los índices más usados para el diagnóstico tenemos:

  • Indices de precios al consumidor
  • Indice de Gini
  • Indice de Desarrollo Humano
  • Indice de Necesidades Básicas Insatisfechas

La construcción de índices toma diversas formas. Por ejemplo, un:a de las maneras de calcular el índice de Gini es

\[\frac{\sum_{i=1}^{n-1}\left(P_i-Y_i\right)}{\sum_{i=1}^{n-1}P_i}\]

En tanto que la forma global para calcular el Indice de Desarrollo Humano es:

\[indice\ del\ componente\ =\frac{\left(valor\ real\ -valor\ mínimo\right)}{\left(valor\ máximo\ -\ valor\ mínimo\right)}\]

Tipologia de indicadores

rnewthought("Existennumerosasclasificaciones")paralodicadores (veáse, por ejemplo Cecchini (2005Cecchini, Simone. 2005. Indicadores Sociales En América Latina Y El Caribe. CEPAL.), pp.13-16). La más general es aquella que los divide en cuantitativos y en cualitativos. Una serie1 Nos referimos a una serie cronológica: una colección de datos tomados en diferentes periodos temporales (Martínez Bencadino, op. cit) de tasas de escolaridad se consideraría como una serie de indicadores cuantitativos porque proporcionan la cantidad. Por otra parte, si esa serie en lugar de mostrar el tanto por mil de estudiantes que asistieron a la educación formal en el lapso marcado por la serie, indica la calidad de esa educación (por ejemplo: deficiente, satisfactoria, muy buena), entonces se consideran indicadores cualitativos.

Consideramos que una tipología de indicadores de mayor interés para la planificación es aquella que los divide, a partir del modelo insumo-productos, en indicadores de

  • Insumos
  • Procesos o actividades
  • Productos
  • Resultados finales

El modelo insumo-producto considera los insumos necesarios para desarrollar una actividad; los procesos que deben seguirse para transformar los insumos en un producto. Luego, considera también los efecos de ese producto en el entorno, así como sus impactos. Es decir, los efectos de los efectos

De acuerdo con el modelo insumo-productos, para llevar a cabo cualquier plan, programa, proyecto, política pública, etc., se necesitarán unos insumos. Por ejemplo, supongamos que se desea aumentar el número de centros de capacitación laboral para personas de tercera edad. Un insumo necesario para llevar a cabo este objetivo es presupuesto. También lo son los facilitadores, los programas de instrucción, las aulas, los pupitres, etc. Un insumo es toda materia prima, los medios, necesaria para elaborar algo. Incluso si ese algo es la prestación de un servicio.

Los insumos deben procesarse para generar los productos. Siguiedo con nuestro ejemplo, los procesos son las horas de clase. Un indicador proxy de las horas de clase es la matrícula y, dentro de esta, el número de aplazados y el número de aprobados de un periodo a otro. Sería interesante que pudiera medirse el número de clase establecido en el curriculum, y el número de clases efectivamente impartido. La matrícula, además, se analiza por sectores (oficial, no oficial), por áreas (urbana, rural), por niveles (inicial, primaria, media, diversificada, terciaria, de cuarto nivel), entre otras posibilidades. Los procesos, en el caso de educación/formación tienen que ver con el funcionamiento del sistema educativo.

Los insumos y lo procesos de la educación dan como resultado los egresado (el producto). Los egresados además pueden dividirse en graduado, y los que no continuaron con su formación. Estos últimos, si son progresivamente mayores que los graduados, nos sugieren una falla estructural del sistema educativo. Finalmente, los resultados de la educación pueden ser de dos tipos. Unos resultados inmediatos (efectos), que es, por ejemplo, el nivel educativo de la población. Y otros resultados finales (impacto), los cuales suelen ser más amplios: movilidad social; califación de la fuerza laboral, desarrollo social y económico.

Los indicadores deben poder medir con precisión y en forma directa el evento o fenómeno dado. Deben dar información capaz de satisfacer las preguntas y preocupaciones que el fenómeno analizado puede generar en un momento dado, a un costo razonable. En otras palabras; los indicadores deben ser precisos, mensurables y económicos.

Para facilitar el análisis del (sub)sistema los indicadores deben desagregarse,2 Cecchini (op. cit, p. 20), allí donde sea posible, en:

  • Áreas geográficas.
  • Sexo.
  • Grupos de edad.
  • Tamaño y composición del hogar / Jefatura del hogar.
  • Ingreso, consumo o propiedad de bienes.
  • Nivel educativo.
  • Rama de actividad económica.
  • Ocupación.
  • Categoría laboral.
  • Grupos sociales específicos.

Así, por ejemplo, al construir indicadores de proceso en el área de educación, podemos desagregarlos en egresados por área geográfica (parroquia, municipio, entidad; o zonas rurales y zonas urbanas); egresados según sexo. O incluso, aumentando el nivel de precisión: egresados según sexo, área geográfica y nivel de ocupación.

El nivel de desagregación, por supuesto, dependerá del tipo de información disponible. Generalmente se opera con datos provenientes de censos o de encuestas. En el primer caso, es posible alcanzar buenos niveles de desagregación. Pero la información no sólo se actualiza cada diez años. En el segundo caso, la información suele ser reciente, pero, a menos que sea un estudio desarrollado directamente por quienes desean construir los indicadores, el nivel de desagregación posible para los indicadores es limitado.

Indicadores en el diagnóstico. Pre-procesamientos

Es una buena idea elaborar un listado de los posibles componentes del sistema en el que estamos interesados, y, luego, tratar de determinar las variables de cada uno de esos subcomponentes. No tiene que ser un listado exhaustivo. Pero sí uno que nos ayude a organizar el análisis. Por ejemplo, entre las áreas que nos interesa diagnosticar está el área social. Cuando decimos área, también queremos decir sector, o (sub)sistema. Algunos de los elementos que se consideran parte de este componentes son (tomado con pequeñas modificaciones de 2005Cecchini, Simone. 2005. Indicadores Sociales En América Latina Y El Caribe. CEPAL., op. cit):

  • Población
  • Familias y hogares
  • Educación
  • Salud
  • Vivienda y servicios básicos
  • Trabajo
  • Pobreza y distribución del ingreso
  • Ingreso y consumo
  • Seguridad social
  • Seguridad pública, crimen y justicia
  • Participación ciudadana
  • Derechos humanos
  • Gobernabilidad
  • Tecnologías de información y comunicación
  • Transporte
  • Niños, niñas y adolescentes
  • Situación de los jóvenes
  • Situación de los adultos mayores
  • Medio ambiente
  • Grupos étnicos
  • Cultura
  • Deportes y tiempo libre
  • Personas con discapacidad

Algunos indicadores de población, los que pueden, además, desagregarse:

  • Número de habitantes
  • Tasa de crecimiento de la población
  • Estructura de la población por edades
  • Relación de dependencia
  • Tasa bruta de natalidad
  • Tasa bruta de mortalidad

Exploración de la data

Antes de iniciar las exploraciones, si ha recibido la data para seguir este procedimiento, debe verificar cuál es el directorio de trabajo. Para ello, emplee la función getwd()

getwd()

Su directorio de trabajo debería ser una carpeta con el nombre que identifique los procedimientos que se realizan en este análisis. Por ejemplo: indicadores o elaboracioIndicadores. Generalmente acostumbramos a dejar espacios en los nombres de las carpetas y acentuamos las palabras que lo requieran. Aquí le aconsejamos no hacerlo. Si el nombre es compuesto, le sugerimos que escriba la primera parte del nombre con letra inicial minúscula y la segunda parte, sin dejar espacios, con letra inicial mayúscula. O, también, separando ambas partes con underscore: elaboracion_indicadores

Desde R puede crear una carpeta. Por ejemplo, crearé en la unidad “D:/”, un directorio -más bien un subdirectorio-, al que llamaré analisisIndicadores

dir.create("D:/analisisIndicadores")

Después de crear (y verificar que existe) el subdirectorio, entonces podemos cambiar nuestro directorio de trabajo hasta esa carpeta. Coloque allí, en ese subdirectorio, el environment que se le ha hecho llegar. Para cargar el environment a su cónsola de R, escriba el siguiente codigo

Si está trabajando con un markdown, cree un nuevo chunk y escriba en él ese mismo código. Si no hace esto, la data estará en la cónsola principal de R, pero no en la sub-consola que es el markdown.

# para cambiar el directorio
setwd("d./analisisIndicadores")

# para subir el environment
load("d:/clasesInsumos/datosIndicadores")

En el environment tiene toda la data que requiere para los ejercicios. Si quiere ver qué data hay, use la funciónn ls():

ls()

Debemos explorar la información En R existen diferentes vías. Veamos cuántos casos u observaciones (personas que han sido entrevistadas, distintos años en una serie, etc.) hay en una de las bases llamada misionSucre, así como el número de variables:

¿Cuántos casos y cuántas variables tiene el marco de dato?

# numero de casos
nrow(misionSucre)
## [1] 823
# numero de variables
ncol(misionSucre)
## [1] 54
# podemos obtener esa informacion de una sola vez
dim(misionSucre)
## [1] 823  54

¿Al observar los nombres de las variables, qué tipo de información cree usted que contiene este marco de datos?

Veamos ahora los nombres de las variables

names(misionSucre)
##  [1] "estrato"      "orga"         "mil"          "egreso"      
##  [5] "depen"        "modalidad"    "turno"        "ingresp"     
##  [9] "programa"     "jhog"         "neduca"       "confr"       
## [13] "grup"         "mision"       "proingre"     "ingre"       
## [17] "ubifi"        "tene"         "tipocons"     "sala"        
## [21] "comedor"      "salcom"       "coc"          "concom"      
## [25] "habitaciones" "baños"        "unvialente"   "agua"        
## [29] "aservida"     "recbas"       "gasdir"       "gasenv"      
## [33] "luz"          "tel"          "paredes"      "techo"       
## [37] "piso"         "vialidad"     "camino"       "escalera"    
## [41] "veredad"      "rio"          "quebrada"     "callj"       
## [45] "metro"        "camione"      "jeep"         "taxi"        
## [49] "transubv"     "vehpro"       "enfermedad"   "tipenf"      
## [53] "estudia"      "trabaja"

Analicemos ahora el tipo de variable (numérica, o cualitativa). Para R las variables numéricas pueden ser de tipo integer o numeric. Aprendamos a leer la información que nos entrega la función str() Nos indica que tenemos un data.frame (marco de datos, o matriz de datos, u hoja de datos) con 823 casos (observaciones) y 54 variables. Luegos nos lista cada una de las variables, nos dice el tipo y nos da los 10 primeros valores de cada variable.Por ejemplo, la variable ‘estrato’ es de tipo ‘Factor’ (es decir, cualitativa de tipo ordinal) con 4 niveles (categorías). En el primer caso son números enteros y en el segundo caso se trata de valores continuos. Las variables que normalmente denominamos cualitativas, bien sea de tipo nominal u ordinal, en R se denomina factors. Esta información la obtenemos con la funcion str():

str(misionSucre)
## 'data.frame':    823 obs. of  54 variables:
##  $ estrato     : Factor w/ 4 levels "II","III","IV",..: 1 3 3 4 3 3 3 3 3 3 ...
##  $ orga        : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 2 1 1 1 ...
##  $ mil         : Factor w/ 2 levels "Milita","No milita": 2 2 2 2 2 2 1 1 1 2 ...
##  $ egreso      : chr  "2003" "2002" "2003" "2003" ...
##  $ depen       : Factor w/ 3 levels "Privada","Pública",..: 2 1 2 2 2 2 1 2 1 1 ...
##  $ modalidad   : Factor w/ 3 levels "Misión","Parasistema",..: 3 3 3 3 3 3 2 3 3 3 ...
##  $ turno       : Factor w/ 4 levels " ","Diurno","Nocturno",..: 1 2 2 2 2 2 2 2 2 2 ...
##  $ ingresp     : int  2003 2003 2003 2003 2003 2003 2003 2003 2003 2003 ...
##  $ programa    : Factor w/ 9 levels "10","11","Arquitectura",..: 4 4 4 4 4 4 4 4 4 4 ...
##  $ jhog        : Factor w/ 13 levels "Abuela","Abuelo",..: 9 9 9 9 6 9 9 9 9 8 ...
##  $ neduca      : Factor w/ 7 levels "Analfabeta","Bachillerato",..: 5 6 3 4 5 3 6 2 4 4 ...
##  $ confr       : Factor w/ 7 levels "Extendida otros familiares",..: 4 4 4 5 2 7 7 4 5 2 ...
##  $ grup        : int  4 5 4 4 2 1 5 4 6 1 ...
##  $ mision      : Factor w/ 2 levels "Misión Riva",..: 1 1 1 1 1 2 1 1 1 1 ...
##  $ proingre    : Factor w/ 6 levels "Becado","Desempleado",..: 4 4 4 4 4 5 4 4 4 4 ...
##  $ ingre       : Factor w/ 3 levels "Menor del sueldo mínimo",..: 3 1 1 1 1 2 1 1 1 1 ...
##  $ ubifi       : Factor w/ 3 levels "Barrio","Poblado",..: 2 1 1 1 1 3 1 1 1 1 ...
##  $ tene        : Factor w/ 5 levels "Alquilada","Comodato",..: 3 5 4 4 4 4 5 5 4 5 ...
##  $ tipocons    : Factor w/ 5 levels "Apartamento",..: 3 1 2 2 2 2 1 2 2 1 ...
##  $ sala        : Factor w/ 2 levels "No","Si": 2 1 2 1 1 1 2 1 1 2 ...
##  $ comedor     : Factor w/ 2 levels "No","Si": 2 1 2 1 1 1 2 1 1 2 ...
##  $ salcom      : Factor w/ 2 levels "No","Si": 1 2 1 2 2 1 1 2 2 1 ...
##  $ coc         : Factor w/ 2 levels "No","Si": 2 2 2 2 2 1 2 2 2 2 ...
##  $ concom      : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ habitaciones: int  2 3 2 4 2 2 2 3 3 1 ...
##  $ baños       : int  2 2 1 1 1 1 1 2 1 1 ...
##  $ unvialente  : Factor w/ 2 levels "No","Si": 1 1 1 1 1 2 1 1 1 1 ...
##  $ agua        : Factor w/ 2 levels "No","Si": 1 2 2 2 2 2 2 2 2 2 ...
##  $ aservida    : Factor w/ 2 levels "No","Si": 1 2 2 2 2 1 2 2 2 2 ...
##  $ recbas      : Factor w/ 2 levels "No","Si": 1 2 2 2 2 2 2 2 2 2 ...
##  $ gasdir      : Factor w/ 2 levels "No","Si": 1 2 1 1 1 1 1 1 1 2 ...
##  $ gasenv      : Factor w/ 2 levels "No","Si": 2 1 2 2 2 2 2 2 2 1 ...
##  $ luz         : Factor w/ 2 levels "No","Si": 1 2 2 2 2 2 2 2 2 2 ...
##  $ tel         : Factor w/ 2 levels "No","Si": 2 2 1 2 1 1 2 2 2 2 ...
##  $ paredes     : chr  "Bloques" "Bloques" "Bloques" "Bloques" ...
##  $ techo       : Factor w/ 7 levels "5","6","7","Asbesto",..: 5 5 4 6 7 7 5 5 5 5 ...
##  $ piso        : Factor w/ 4 levels "4","Cemento",..: 2 2 2 2 2 2 4 3 3 4 ...
##  $ vialidad    : Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...
##  $ camino      : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ escalera    : Factor w/ 2 levels "No","Si": 1 1 1 1 1 2 1 1 1 1 ...
##  $ veredad     : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ rio         : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ quebrada    : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ callj       : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ metro       : Factor w/ 2 levels "No","Si": 2 1 2 1 2 1 1 1 1 2 ...
##  $ camione     : Factor w/ 2 levels "No","Si": 1 2 1 1 2 2 2 2 1 2 ...
##  $ jeep        : Factor w/ 2 levels "No","Si": 1 2 1 1 1 1 1 1 1 1 ...
##  $ taxi        : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ transubv    : Factor w/ 2 levels "No","Si": 1 1 2 1 1 1 2 2 1 1 ...
##  $ vehpro      : Factor w/ 2 levels "No","Si": 1 1 1 1 1 1 1 1 1 1 ...
##  $ enfermedad  : Factor w/ 2 levels "No","Si": 2 1 2 1 1 1 1 2 2 1 ...
##  $ tipenf      : Factor w/ 13 levels "Cardiocirculatoria",..: 9 10 1 10 10 10 10 1 9 10 ...
##  $ estudia     : Factor w/ 4 levels "3","5","No","Si": 3 3 3 3 3 3 3 3 4 3 ...
##  $ trabaja     : Factor w/ 2 levels "No","Si": 2 1 2 1 1 1 1 2 1 1 ...

Exploremos cada categoría para verificar: si están bien escritas, si son consistentes o si tienen sentido. Si encontramos errores, entoces debemos limpiar esas categorías. Esos quiere decir, afectuar las correcciones a que haya lugar. Para esta exploración podemos emplear la función table(). La función table nos indica el número de personas en cada nivel (categoría). Fíjese que para pedir esta ‘tabla’, se escribió misionSucre$estrato. El nombre del marco de datos, seguido por el símbolo de dólar, y luego el nombre de la variable deseada. Esta función rinde mejores resultados si la empleamos con variables cualitativas.

table(misionSucre$estrato)
## 
##  II III  IV   V 
##   2  19 709  93

También podría haber solicitado lo siguiente Entendamos este procedimiento. Un marco o matriz de dato es una matriz con n número de filas, los casos, y n número de columnas, las variables. Por eso es que, por ejemplo, podemos pedirle a R que nos muestre el número de casos usando la función nrow(), número de filas. El marco de datos, entonces, se puede ‘modelar’ de la siguiente forma: misionSucre[nrow, ncol] :

table(misionSucre[,1])
## 
##  II III  IV   V 
##   2  19 709  93

En el ejemplo anterior, sabemos que la variable estrato en la primera, [,1], y como queremmos todos los casos, dejamos el espacio correspondiente a las filas vacío. R entiende que deseo la distribución de la primera variable tomando en cuenta todos los casos: misionSucre[,1].

Si sólo queremos trabajar con los seis primeros casos de toda el marco de datos (todas las variables, pero sólo para los primeros seis casos) Le estamos pidiendo a R que de los casos 1 al seis, nos muestre todas las variables

misionSucre[1:6,]
##   estrato orga       mil egreso   depen modalidad  turno ingresp
## 1      II   No No milita   2003 Pública   Regular           2003
## 2      IV   No No milita   2002 Privada   Regular Diurno    2003
## 3      IV   No No milita   2003 Pública   Regular Diurno    2003
## 4       V   No No milita   2003 Pública   Regular Diurno    2003
## 5      IV   No No milita   2002 Pública   Regular Diurno    2003
## 6      IV   No No milita   2003 Pública   Regular Diurno    2003
##              programa    jhog                neduca
## 1 Comunicacion Social   Padre Secundaria incompleta
## 2 Comunicacion Social   Padre              Superior
## 3 Comunicacion Social   Padre                Básica
## 4 Comunicacion Social   Padre   Primaria incompleta
## 5 Comunicacion Social Hermana Secundaria incompleta
## 6 Comunicacion Social   Padre                Básica
##                     confr grup          mision          proingre
## 1                 Nuclear    4     Misión Riva        Pensionado
## 2                 Nuclear    5     Misión Riva        Pensionado
## 3                 Nuclear    4     Misión Riva        Pensionado
## 4       Nuclear extendida    4     Misión Riva        Pensionado
## 5           Matricentrada    2     Misión Riva        Pensionado
## 6 Patricentrada extendida    1 Misión Robinson Trabajo a destajo
##                       ingre        ubifi     tene    tipocons sala comedor
## 1 Superior al sueldo mínimo      Poblado Invadida  Habitación   Si      Si
## 2   Menor del sueldo mínimo       Barrio   propia Apartamento   No      No
## 3   Menor del sueldo mínimo       Barrio  Pagandp        Casa   Si      Si
## 4   Menor del sueldo mínimo       Barrio  Pagandp        Casa   No      No
## 5   Menor del sueldo mínimo       Barrio  Pagandp        Casa   No      No
## 6             Sueldo mínimo Urbanizacion  Pagandp        Casa   No      No
##   salcom coc concom habitaciones baños unvialente agua aservida recbas
## 1     No  Si     No            2     2         No   No       No     No
## 2     Si  Si     No            3     2         No   Si       Si     Si
## 3     No  Si     No            2     1         No   Si       Si     Si
## 4     Si  Si     No            4     1         No   Si       Si     Si
## 5     Si  Si     No            2     1         No   Si       Si     Si
## 6     No  No     No            2     1         Si   Si       No     Si
##   gasdir gasenv luz tel paredes    techo    piso vialidad camino escalera
## 1     No     Si  No  Si Bloques Concreto Cemento       Si     No       No
## 2     Si     No  Si  Si Bloques Concreto Cemento       Si     No       No
## 3     No     Si  Si  No Bloques  Asbesto Cemento       Si     No       No
## 4     No     Si  Si  Si Bloques     Otro Cemento       Si     No       No
## 5     No     Si  Si  No Bloques     Zinz Cemento       Si     No       No
## 6     No     Si  Si  No Bloques     Zinz Cemento       Si     No       Si
##   veredad rio quebrada callj metro camione jeep taxi transubv vehpro
## 1      No  No       No    No    Si      No   No   No       No     No
## 2      No  No       No    No    No      Si   Si   No       No     No
## 3      No  No       No    No    Si      No   No   No       Si     No
## 4      No  No       No    No    No      No   No   No       No     No
## 5      No  No       No    No    Si      Si   No   No       No     No
## 6      No  No       No    No    No      Si   No   No       No     No
##   enfermedad             tipenf estudia trabaja
## 1         Si    Osteomusculares      No      Si
## 2         No               Otro      No      No
## 3         Si Cardiocirculatoria      No      Si
## 4         No               Otro      No      No
## 5         No               Otro      No      No
## 6         No               Otro      No      No

Pero, podríamos analizar sólo los
Note: tantos los casos, como las variables seleccionadas se encierran en paréntesis y se coloca, antes del paréntesis, la letra c. Esta es en realidad la función concatenar c(). Luego, todo se encierra entre corchetes planos. No confunda las comas internas de cada vector (vector-fila y vector-columna), con la coma que separa los casos de las variables. 1,6,14, 25, 823, y las variables, 7,20,45:

misionSucre[c(1,6,14,25,823), c(7,20,45)]
##      turno sala metro
## 1            Si    Si
## 6   Diurno   No    No
## 14  Diurno   No    No
## 25  Diurno   Si    No
## 823 Diurno   Si    No

¿Con la información obtenida hasta ahora, qué puede decir del marco de datos misionSucre

Finalmente, veamos los primeros seis casos de cada variable para tener una mejor idea del contenido del marco de datos

head(misionSucre)
##   estrato orga       mil egreso   depen modalidad  turno ingresp
## 1      II   No No milita   2003 Pública   Regular           2003
## 2      IV   No No milita   2002 Privada   Regular Diurno    2003
## 3      IV   No No milita   2003 Pública   Regular Diurno    2003
## 4       V   No No milita   2003 Pública   Regular Diurno    2003
## 5      IV   No No milita   2002 Pública   Regular Diurno    2003
## 6      IV   No No milita   2003 Pública   Regular Diurno    2003
##              programa    jhog                neduca
## 1 Comunicacion Social   Padre Secundaria incompleta
## 2 Comunicacion Social   Padre              Superior
## 3 Comunicacion Social   Padre                Básica
## 4 Comunicacion Social   Padre   Primaria incompleta
## 5 Comunicacion Social Hermana Secundaria incompleta
## 6 Comunicacion Social   Padre                Básica
##                     confr grup          mision          proingre
## 1                 Nuclear    4     Misión Riva        Pensionado
## 2                 Nuclear    5     Misión Riva        Pensionado
## 3                 Nuclear    4     Misión Riva        Pensionado
## 4       Nuclear extendida    4     Misión Riva        Pensionado
## 5           Matricentrada    2     Misión Riva        Pensionado
## 6 Patricentrada extendida    1 Misión Robinson Trabajo a destajo
##                       ingre        ubifi     tene    tipocons sala comedor
## 1 Superior al sueldo mínimo      Poblado Invadida  Habitación   Si      Si
## 2   Menor del sueldo mínimo       Barrio   propia Apartamento   No      No
## 3   Menor del sueldo mínimo       Barrio  Pagandp        Casa   Si      Si
## 4   Menor del sueldo mínimo       Barrio  Pagandp        Casa   No      No
## 5   Menor del sueldo mínimo       Barrio  Pagandp        Casa   No      No
## 6             Sueldo mínimo Urbanizacion  Pagandp        Casa   No      No
##   salcom coc concom habitaciones baños unvialente agua aservida recbas
## 1     No  Si     No            2     2         No   No       No     No
## 2     Si  Si     No            3     2         No   Si       Si     Si
## 3     No  Si     No            2     1         No   Si       Si     Si
## 4     Si  Si     No            4     1         No   Si       Si     Si
## 5     Si  Si     No            2     1         No   Si       Si     Si
## 6     No  No     No            2     1         Si   Si       No     Si
##   gasdir gasenv luz tel paredes    techo    piso vialidad camino escalera
## 1     No     Si  No  Si Bloques Concreto Cemento       Si     No       No
## 2     Si     No  Si  Si Bloques Concreto Cemento       Si     No       No
## 3     No     Si  Si  No Bloques  Asbesto Cemento       Si     No       No
## 4     No     Si  Si  Si Bloques     Otro Cemento       Si     No       No
## 5     No     Si  Si  No Bloques     Zinz Cemento       Si     No       No
## 6     No     Si  Si  No Bloques     Zinz Cemento       Si     No       Si
##   veredad rio quebrada callj metro camione jeep taxi transubv vehpro
## 1      No  No       No    No    Si      No   No   No       No     No
## 2      No  No       No    No    No      Si   Si   No       No     No
## 3      No  No       No    No    Si      No   No   No       Si     No
## 4      No  No       No    No    No      No   No   No       No     No
## 5      No  No       No    No    Si      Si   No   No       No     No
## 6      No  No       No    No    No      Si   No   No       No     No
##   enfermedad             tipenf estudia trabaja
## 1         Si    Osteomusculares      No      Si
## 2         No               Otro      No      No
## 3         Si Cardiocirculatoria      No      Si
## 4         No               Otro      No      No
## 5         No               Otro      No      No
## 6         No               Otro      No      No

Limpieza de datos

En ocasiones la data que recibimos o que obtenemos no tienen el formato necesario para hacer nuestros análisis. Por ejemplo:

head(criminesCcs)
##        parroquia poblacion homicidios personales violfam cpersonas hurto
## 1     altagracia     39291         19         85       0        12   125
## 2       antimano    127708        172        246     211        53   223
## 3     candelaria     53473         12         86       9         5   290
## 4 san bernardino    143048         18         49       6        15   148
## 5       caricuao      4831         70        291     281        37   202
## 6    el junquito     51029         31        107      21        26    97
##   hurtoauto robo rob.auto estafa violación desvalij
## 1        68  121       36     86         3        6
## 2       106  298      157     27        27       38
## 3       179  249       87    188         5       17
## 4       148  131      123     81         1        7
## 5       193  232      310     35        24       21
## 6        71   81       56     12        10       12

En la variable poblacion el punto separa las unidades de mil. Para R el punto separa número decimales. Si sólo quisieramos operar con esa variable, no habría ningún problema. Todas las unidades estarían divididas entre mil. Pero si deseamos obtener la tasa de cualquiera de las variables restantes, sí que tendríamos problemas.

Si quisiéramos obtener la tasa de homicidios de la parroquia Altagracia, por cada 10 mil habitantes, deberíamos dividir 19 entre 39291 y multiplicar el cociente por, digamos 10 mil. El resultado sería 5, redondeando, 5 homicidios por cada 10 mil habitantes. Si empleo los valores como están el resultado seria de 5000 mil homicidios por cada 10 mil habitantes. ¡Una catástrofe!. En realidad, si tenemos el cuidado suficiente, podríamos operar con los valores tal como están, diviendo luego el resultado entre mil. Tal cosa es más bien fastidiosa y podriamos cometer errores. Por ello mejor limpiamos esta columna. Empleamos la función gsub() Le pedimos a R que busque allí donde hay un punto . y que lo sustituya con nada , las comillas vacías. Pero dado que no guardé ese procedimiento, R lo ejecuta, pero en nuestro marcos de datos, la variable poblacion sigue exactamente igual :

gsub(".", "",criminesCcs$poblacion, fixed = TRUE)
##  [1] "39291"  "127708" "53473"  "143048" "4831"   "51029"  "96162" 
##  [8] "134503" "51029"  "56373"  "80188"  "122189" "43191"  "4084"  
## [15] "36269"  "93076"  "99208"  "105123" "35204"  "76721"

Este es el procedimiento para eliminar los puntos, pero dado que no hemos guardado el proceso, nuestro marco de datos no incorpora esas transformaciones:

criminesCcs$poblacion
##  [1]  39291 127708  53473 143048   4831  51029  96162 134503  51029  56373
## [11]  80188 122189  43191   4084  36269  93076  99208 105123  35204  76721

Para que haya un cambio, debemos guardar la variable, bien sobre escribiéndola, o creando una nueva. Vamos a sobre escribirla

criminesCcs$poblacion<-gsub(".", "",criminesCcs$poblacion, fixed = TRUE)

Verifiquemos

criminesCcs$poblacion
##  [1] "39291"  "127708" "53473"  "143048" "4831"   "51029"  "96162" 
##  [8] "134503" "51029"  "56373"  "80188"  "122189" "43191"  "4084"  
## [15] "36269"  "93076"  "99208"  "105123" "35204"  "76721"

Cuando en R los números aparecen entre comillas, quiere decir que R los está considerando como caracteres/factores y no como número. Eso lo solucionamos de la siguientes forma:

criminesCcs$poblacion <-as.numeric(criminesCcs$poblacion)
# verificamos el tipo de dato
criminesCcs$poblacion
##  [1]  39291 127708  53473 143048   4831  51029  96162 134503  51029  56373
## [11]  80188 122189  43191   4084  36269  93076  99208 105123  35204  76721
# primero seis casos
head(criminesCcs$poblacion)
## [1]  39291 127708  53473 143048   4831  51029

Veamos ahora la structura de este marco de datos:

str(criminesCcs)
## 'data.frame':    20 obs. of  13 variables:
##  $ parroquia : chr  "altagracia" "antimano" "candelaria" "san bernardino" ...
##  $ poblacion : num  39291 127708 53473 143048 4831 ...
##  $ homicidios: int  19 172 12 18 70 31 109 169 61 22 ...
##  $ personales: int  85 246 86 49 291 107 273 298 132 77 ...
##  $ violfam   : int  0 211 9 6 281 21 78 217 90 18 ...
##  $ cpersonas : int  12 53 5 15 37 26 48 47 35 15 ...
##  $ hurto     : int  125 223 290 148 202 97 707 200 126 282 ...
##  $ hurtoauto : int  68 106 179 148 193 71 946 231 132 865 ...
##  $ robo      : int  121 298 249 131 232 81 755 238 209 271 ...
##  $ rob.auto  : int  36 157 87 123 310 56 665 198 244 609 ...
##  $ estafa    : int  86 27 188 81 35 12 406 62 39 126 ...
##  $ violación : int  3 27 5 1 24 10 20 15 10 4 ...
##  $ desvalij  : int  6 38 17 7 21 12 46 6 17 24 ...

La variable “parroquia” aparece como una variable ordinal, sin embargo es una variable categórica. Solucionamos ese problema

criminesCcs$parroquia <-as.character(criminesCcs$parroquia)

# Verificamos
str(criminesCcs)
## 'data.frame':    20 obs. of  13 variables:
##  $ parroquia : chr  "altagracia" "antimano" "candelaria" "san bernardino" ...
##  $ poblacion : num  39291 127708 53473 143048 4831 ...
##  $ homicidios: int  19 172 12 18 70 31 109 169 61 22 ...
##  $ personales: int  85 246 86 49 291 107 273 298 132 77 ...
##  $ violfam   : int  0 211 9 6 281 21 78 217 90 18 ...
##  $ cpersonas : int  12 53 5 15 37 26 48 47 35 15 ...
##  $ hurto     : int  125 223 290 148 202 97 707 200 126 282 ...
##  $ hurtoauto : int  68 106 179 148 193 71 946 231 132 865 ...
##  $ robo      : int  121 298 249 131 232 81 755 238 209 271 ...
##  $ rob.auto  : int  36 157 87 123 310 56 665 198 244 609 ...
##  $ estafa    : int  86 27 188 81 35 12 406 62 39 126 ...
##  $ violación : int  3 27 5 1 24 10 20 15 10 4 ...
##  $ desvalij  : int  6 38 17 7 21 12 46 6 17 24 ...

Tengo ese marco de datos limpio. Pero como en ocasiones los acentos en las palabras pueden crear problemas en algunas visualizaciones, mejor eliminamos los acentos

# cambio la i acentuada
criminesCcs$parroquia<-gsub("í","i" ,
                            criminesCcs$parroquia )

# cambio la e acentuada
criminesCcs$parroquia<-gsub("é","e" ,
                            criminesCcs$parroquia )

# Verifico

criminesCcs$parroquia
##  [1] "altagracia"     "antimano"       "candelaria"     "san bernardino"
##  [5] "caricuao"       "el junquito"    "el recreo"      "el valle"      
##  [9] "coche"          "san pedro"      "la pastora"     "la vega"       
## [13] "macarao"        "san agustin"    "san jose"       "san juan"      
## [17] "el paraiso"     "santa rosalia"  "sucre"          "23 de enero"

El mismo procedimiento se sigue para el caso de variables.

Antes de construir indicadores y en general, antes de iniciar cualquier análisis, es necesario verificar que la data esté limpia y haga sentido. Si se lleva adelante un análisis con data no limpia, el resultado que se obtenga será cuestionable. Dicho en término harto coloquiales y el el argot venezolano: si la data está piche, el análisis resultante estará piche también.

Data limpia

Sabremos que nuestra data es limpia y, por tanto, es analizable si:

  • Las columnas contienen nombre de variables y no valores
  • Cada columna guarda una, y solo una variables
  • Cada fila guarda uno, y solo un caso
  • Cada tabla/marco/matriz de dato solo almacena un solo tipo de unidades de observación
  • Un mismo tipo de unidad observacional se almacena en una tabla

Veamos algunos ejemplos.

  1. La data que obtenemos del INE generalmente se ha creado en hoja de excel para ser presentadas, más que para ser directamente analizada. Por eso nos vamos a encontrar que en esas hojas en una columna hay dos y mas variables; o en las filas se almacenan dos o mas casos. También es posible que en esas hojas de cálculo, una misma unidad de observación se divida en varias tablas, o diversas unidades de información se presenten en una sola tabla. Por ejemplo, la tabla sobre la concentración anual de particulas suspendidas, la columna ciudad mezcla dos tipos de observaciones: ciudad y el punto de la ciudad; de igual forma, los nombres de las variables son números, es decir, valores, no variables. En este marco de datos en realidad tenemos tres variables: ciudad, con cuatro categorías; localización, una variable nominal; y año, con cinco categorías.

  2. El marco de datos colegiosUniv :

require(knitr)
kable(colegiosuniv, row.names = FALSE)
lapso Totalmat matOficial matPrivado docenteOficial docentePrivado Totalegr egrOficial egrPrivado
1980 63713 49875.000 13838 5229 1408 4923 3919 1004
1981 71667 51225.000 20442 5307 1622 5313 4172 1141
1982 80479 58717.000 21762 5736 1720 8430 6145 2285
1983 97059 72267.000 24792 5798 2045 9233 7322 1911
1984 97752 69657.000 28095 5830 2575 9336 6717 2619
1985 117848 88200.000 29648 7792 2742 9473 6579 2894
1986 127538 92072.000 35466 7539 3181 10676 6384 4292
1987 141860 95219.000 46641 9169 3800 11277 6594 4683
1988 172562 106527.000 66035 9670 4823 12383 6345 6038
1989 147093 58700.000 88393 5298 5791 13774 5773 8001
1990 161998 60165.000 101833 5371 6131 17597 6352 11245
1991 161086 55905.000 105181 4889 6386 20379 6280 14099
1992 174142 58449.000 115693 6263 7752 22338 7340 14998
1993 211736 63859.000 147877 5814 8493 25901 7197 18704
1994 215439 63175.000 152264 5514 9705 25782 6570 19212
1995 214488 68624.000 145864 5839 8589 28057 7300 20757
1996 235657 73613.000 162044 5667 10467 30887 7230 23657
1997 270691 73602.000 197089 6676 14288 30932 7943 22989
1998 256949 72779.000 184170 5748 12447 29882 8030 21852
1999 261244 78561.000 182683 6114 14104 32812 9518 23294
2000 292788 79903.000 212885 5762 13836 35282 7983 27299
2001 376894 122239.000 254655 8096 16174 48236 12016 36220
2002 400240 120.167 280073 10824 18320 51029 12749 38280
2003 396605 135790.000 260815 8850 15054 51789 15779 36010

Hay cuatro variables: lapso, personal docente, matrícula y egreso. Los totales no hacen falta porque se pueden recontruir fácilmente. La matrícula tiene dos categorías: oficiales, y privadas. Vale lo mismo para egresos y personal docente.

Iremos limpiando progresivamente en la medida en que la necesitemos.

Elaboración de indicadores. Aplicación

Ejemplo 1. Instituciones de educación superior en Venezuela

Vamos a elaborar e interpretar algunos indicadores en el marco del diagnóstico. Tengo algunas matrices de datos relacionadas con educación superior, obtenidas en el año 2005, de la sección Estadística la OPSU. Entre los indicadores de insumo de la educación y que pueden obtenerse de nuestra data sobre la educación superior, tenemos:

  • Número de profesores
  • Número de matriculados
  • Número de instituciones

Exploro la data:

head(esCantidad2)
##   Anios Total Oficial Privada
## 1  1980    74      49      25
## 2  1981    78      51      27
## 3  1982    83      54      29
## 4  1983    90      56      34
## 5  1984    90      56      34
## 6  1985    91      57      34
dim(esCantidad2)
## [1] 26  4
head(matricula)
##   lapso matUnivTotal ioesMat  X ipesMat
## 1  1980       307133  267541 NA   39592
## 2  1981       331115  282430 NA   48685
## 3  1982       349766  296334 NA   53432
## 4  1983       379218  315467 NA   63751
## 5  1984       383537  312617 NA   70920
## 6  1985       438908  362804 NA   76104
dim(matricula)
## [1] 25  5
head(egresados)
##   lapso Total Oficial Privado
## 1  1980 15819   12973    2846
## 2  1981 18261   15200    3061
## 3  1982 20120   16571    3549
## 4  1983 25212   20719    4493
## 5  1984 26625   21484    5141
## 6  1985 28406   22491    5941

Creo un marco de dato con la información del total de instituciones, el total de la matricula y el total de los egresados. La matriz de datos sobre la cantidad de instituciones de educación superior tiene un caso más que las matrices de egresados y de matriculados. Verifico usando la función sapply(): Le estamos diciendo a R que pase por cada una de las columnas(sapply) de la matriz de dato y le aplique a cada una la función range. Esto es para obtener los valores máximos y mínimos de cada columna.

sapply(esCantidad2, range)
##      Anios Total Oficial Privada
## [1,]  1980    74      49      25
## [2,]  2005   169      73      96
sapply(matricula, range)
##      lapso matUnivTotal ioesMat  X ipesMat
## [1,]  1980       307133  267541 NA   39592
## [2,]  2004      1074350  589523 NA  447045
sapply(egresados, range)
##      lapso      Total    Oficial Privado
## [1,] "1980"     "15819"  "12973" "2846" 
## [2,] "2004 (E)" "112722" "59106" "57593"
sapply(doscentes, range)
##      lapso Total Oficial Privado
## [1,]  1980 28052   24324    2892
## [2,]  2004 82123   51011   31112

Observamos que la matriz de datos de matrícula tiene una columna vacia, x. Adicionalmente, los valores de la matriz de datos egresados parecen ser todos tipo caracter. Además, estos dos últimos marcos de datos llegan hasta el años 2004.

Le hemos pedido a R que nos cree un marco de datos al que debe llamar educacionInsumos,

Lo primero que haremos es quedarnos con sólo 25 casos del marco de datos esCantidad2. Luego crearé un nuevo marco de datos con las variables que me interesan de matricula y egresados

educacionInsumos <-data.frame(lapso= esCantidad2[1:25,1],
                              instituciones = esCantidad2[1:25,2],
                              matricula = matricula[,2],
                              egresados = egresados[,2],
                              docentes = doscentes[,2])

head(educacionInsumos)
##   lapso instituciones matricula egresados docentes
## 1  1980            74    307133     15819    28052
## 2  1981            78    331115     18261    28567
## 3  1982            83    349766     20120    29160
## 4  1983            90    379218     25212    29055
## 5  1984            90    383537     26625    29196
## 6  1985            91    438908     28406    30908

Las variables de este marco de datos serán:

  • las observaciones 1 al 25 de la variable 1, del marco de datos esCantidad2
  • las observaciones 1 al 25 de la variables 2, del marco de datos esCantidad2
  • la segunda variable del marco matricula
  • la segunda variable del marco egresados
  • la segunda variable del marco __doscentes_

Podemos crear ahora varios indicadores para analizar la situción de la educación superior en el lapso estudiado:

  1. la matricula promedio,
  2. los egresados promedio,
  3. la variación en cada variable,
  4. la tasa egresado por matriculado (indicador de producto),
  5. Alumnos por docente, (indicador de proceso)

Observe que hemos empleado otras de las formas de operar de R para crear marcos de datos. Hemos usado la función with(). Esta función indica primero el nombre del marco de datos y luego el procedimiento que R debe ejecutar. Note que usando esta función, las variables se usand directamente, sin necesidad de anteponer el signo de dólar, o de indicar filas y columnas. Esto es así porque ya se le está diciendo a R dónde debe buscar y qué buscar.

matriculaPromedio <-with(educacionInsumos, round(matricula/instituciones),2)
egresadoPromedio <- with(educacionInsumos, round(egresados/instituciones),2)

varInstuciones <-diff(educacionInsumos$instituciones)/educacionInsumos$instituciones[1:24]*100

varMa<-diff(educacionInsumos$matricula)/educacionInsumos$matricula[1:24]*100
varEgreso <-diff(educacionInsumos$egresados)/educacionInsumos$egresados[1:24]*100
varDocentes <-diff(educacionInsumos$docentes)/educacionInsumos$docentes[1:24]*100

egresadoMatriculado <-round(educacionInsumos$egresados/educacionInsumos$matricula *1000)

alumnosDocentes <-round(educacionInsumos$matricula/educacionInsumos$docentes,2)

La función diff() nos ayuda a hacer la resta del numerador con facilidad.

Para crear la tasa de variación hemos empleado la función diff() de R. Esta función nos permite obtener la diferencia entre los elementos de un vector de datos, retrasando en uno cada elemento. Recordemos que la fórmula para la tasa de variación es:

\[variacion\ =\ \frac{\left(fecha2-fecha1\right)}{fechar1}\cdot100\]

# el vector de fechas original es
esCantidad2$Total
##  [1]  74  78  83  90  90  91  93  96  96 103 106 108 110 112 112 112 117
## [18] 130 140 146 146 150 158 163 168 169
#debemos restar cada vez:
78-74; 83-78; 90-91 ;169-169
## [1] 4
## [1] 5
## [1] -1
## [1] 0
# la funcion diff() hace esa operacion
diff(esCantidad2$Total)
##  [1]  4  5  7  0  1  2  3  0  7  3  2  2  2  0  0  5 13 10  6  0  4  8  5
## [24]  5  1

Con la instrucción par(mfrow=c(2,2)) le estamos diciendo a R que nos divida el dispositivo gráfico en 2 filas y dos columnas. Es decir, en 4 partes. De esta forma podremos obtener, en un mismo espacio, cuatro gráficos. Este procedimiento facilita hacer comparaciones. Si quisiéramos, por ejemplo, crear 6 gráfico, en dos filas y tres columnas, la instrucción sería: par(mfrow=c(2,3))

Visualización e interpretaciones:

par(mfrow=c(2,2))
plot(matriculaPromedio~educacionInsumos$lapso, type="l")
plot(egresadoPromedio~educacionInsumos$lapso, type="l")
plot(egresadoMatriculado~educacionInsumos$lapso, type="l")
plot(alumnosDocentes~educacionInsumos$lapso, type="l")

La matrícula promedio experimentó al menos cuatro picos entre 1984-1985, en 1986-1987, en 1991-1994, en 1998-2002. Cae entre 1985 y 1986; 1988-1992, y entre 1995-1998. Esta última caída es la más pronunciado de todo el perido, y, a la vez, es seguida por la recuperación más grande de la serie analizada. Las caídas en la matrícula de educación superior parece rlacionarse con momentos difíciles en la vida del país: 1989, y en el lapso 1996-1998.

Si los egresados, por el contrario, tendieron a aumentar con el paso de los años, salvo en el periodo 93-98, época en la que parece disminuir el número, hasta ubicarse en niveles similares o inferiores a los años finales de la década del 80. En el 99 el número de egresado se incremeta sustancialmente, y parecían empezar un nuevo nivel de descenso.

Al graficar la relación entre egresados y matriculados, a finales de los 80 y principio de los 90 se produce un incremento en el número de graduados por matriculado. Aproximadamente en el 1992 esta relación empieza a decaer y retrocede a niveles similares a los de finales de los 80. Se produce una recuperación entre 1995 y aproximadamente el 2002, para empezar nuevamente a retroceder.

La relación entre el número de profesores y el número de alumnos nos refuerza lo que veíamos en el párrafo anterior. En general hay pocos alumnos por profesor. El número cae en el 86, el 89, y el 96, y fluctúa entre altas y bajas a partir del año 98.

la matrícula promedio en las instituciones de educación superior ha tendido a ser creciente, con fuertes retrocesos en algunos momenos. Los estudiantes que han estado en el sistema han tendido a culminar sus carreras, si bien en los noventas, en los primeros cinco años, pareció disminuir la tendencia. En general, el producto obtenido, egresados, estuvo muy por debajo del ingreso. No se cuenta con otros elementos relacionados con el proceso y con los propios insumos para profundizar el análisis.

Las tasas de variación nos permitirán observar mejor los ciclos de crecimiento y decrecimiento en las variables analizadas:

par(mfrow=c(2,2))
plot(varInstuciones~educacionInsumos$lapso[2:25], type="l")
plot(varMa~educacionInsumos$lapso[2:25], type="l")
plot(varEgreso~educacionInsumos$lapso[2:25], type="l")
plot(varDocentes~educacionInsumos$lapso[2:25], type="l")

A principio de los 80 hay un crecimiento grande en las institucioness de educación superior. Este número retrocede con alguna recuperación entre el 85 y principio de los 90. En el 91 y hasta el 95 se produce un decrecimiento grande en el número de instituciones yluego salta entre entre el 95 y el 96, momento en el que el crecimiento alcanza su mayor nivel, incluso superior a la década del 80. Se produce una nueva caída, y otra recuperación, modesta, entre el 2000 y el 2002 aproximadamente.

Si bien la matrícula promedio, con todo y los de decrecimiento, tuvo una tendencia creciente, cuando analizamos la tasa de variación observamos que solo ha habido dos grandes momentos para el crecimiento de la matricula en la educación superior en el 85 y luego entre el 99 y el 2000. Hay, ciertamente, crecimientos en otros momentos del lapso analizado, pero no tienen la misma fuerza de esos dos años. Con respecto a los egresados, se observan tres grandes picos: en el 84, en el 90 y en el año 2000.

Finalmente, el número de alumnos por profesores nos muestra una historia curiosa. El aumento de la matrícula no necesariamente parece coincidir con el aumento en el número de docentes, salvo en el periodo 1999-2000. No pareciera haber una correpondencia entre el personal docente y el número de alumnos que ingresan al sistema. No poseemos suficiente data para explorar a fondo esto que parece ser una particularidad. Si tal cosa se confirmara, implicaría que hay un divorcio en la planificación de los insumos en estas dos áreas.

Podríamos cruzar otra información, por ejemplo el precio del petróleo, su variación, y la variación en esos insumos de la educación superior:

head(preciosPetroleo)
##   anio precio
## 1 1920   2.69
## 2 1921   1.23
## 3 1922   1.31
## 4 1923   1.46
## 5 1924   1.74
## 6 1925   6.10
tail(preciosPetroleo)
##    anio precio
## 87 2006  61.08
## 88 2007  69.08
## 89 2008  94.45
## 90 2009  61.06
## 91 2010  71.97
## 92 2011 101.06

La data comprende los años 1920 a 2011. Extraemos los años 1980 a 2004, calculamos la variación y graficamos:

petroleo <-preciosPetroleo[61:85,]
varPetroleo <-round(diff(petroleo$precio)/petroleo$anio[1:24]*100,2)

En esta ocasión graficaremos la data usando dos ejes. Si empleamos uno solo, la variación del precio del petróleo al tener un rango mucho menor que la variación de, por ejemplo, la matrícula, aparecería en el gráfico como una línea plana.

Nota: primero creamos el primer gráfico. Luego le decimos a R que imponga un dispositivo de graficación nuevo sobre el anterior. Creamos el segungo gráfico, pero le dicimos a R que no genere el eje x: xact, ni el eje y: yaxt seguidos de n entre comillas, lo que significana, nada. Luego, le indicamos a R que genere un eje en la posición 4 (es decir, en el lado derecho). R automáticamente asigna los valores correspondientes a la variable del segundo eje a este eje recién creado. Le asignamos el título al eje, indicando de nuevo que debe aparecer en el lado derecho, en la línea 3. Finalmente creamos la leyenda para todo el gráfico.

plot(petroleo$anio[1:24], varInstuciones, type="l", col="darkblue")


par(new=TRUE)

plot(petroleo$anio[1:24], varPetroleo, col="darkred", type="l",
     xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("precio petroleo",side=4,line=3)
legend("topleft",col=c("darkblue","darkred"),lty=1,legend=c("instituciones","petroleo"))

Petroleo y numero de instituciones.

Petroleo y numero de instituciones.

Petroleo y matricula. Petroleo y matricula.

plot(petroleo$anio[1:24], varMa, type="l", col="darkgreen")


par(new=TRUE)

plot(petroleo$anio[1:24], varPetroleo, col="darkred", type="l",
     xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("precio petroleo",side=4,line=3)
legend("topleft",col=c("darkgreen","darkred"),lty=1,legend=c("matricula","petroleo"))

Petroleo y egresos. Petroleo y egresos.

plot(petroleo$anio[1:24], varEgreso, type="l", col="green4")


par(new=TRUE)

plot(petroleo$anio[1:24], varPetroleo, col="darkred", type="l",
     xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("precio petroleo",side=4,line=3)
legend("topleft",col=c("green4","darkred"),lty=1,legend=c("egreso","petroleo"))

Petroleo y numero de docentes. Petroleo y numero de docentes.

plot(petroleo$anio[1:24], varDocentes, type="l", col="blue4")


par(new=TRUE)

plot(petroleo$anio[1:24], varPetroleo, col="darkred", type="l",
     xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("precio petroleo",side=4,line=3)
legend("topleft",col=c("blue4","darkred"),lty=1,legend=c("docente","petroleo"))

De las cuatro variables, el número de docentes parece tener mayor relaciónn con el precio del petróleo. El número de egresos pareciera aumentar en épocas en las que baja el petróleo. En tanto que el número de instituciones no pareciera guardar relación. Finalmente, a partir de finales de los 90 pareciera existir relación entre el aumento en los precios del petróleo y la matrícula.

Al visualizar esas relaciones con un gráficos de dispersión y aplicar los coeficientes de correlación respectivos, observamos que la relación Es necesario recordar que relación no implica causa. No tenemos, en primer lugar, data suficiente para mostrar que una variable causa el incremento o decrecimiento de la otra, y, además, si contaramos con esa información, tendríamos que hacer pruebas de hipótesis, luego de haber eliminado otras variables intervinientes que podrían estar generando el resultado. Pero este ejercicio nos ayuda a formularnos preguntas cuyas respuestas nos serían de gran valor para nuestro diagnóstico entre las instituciones y el precio del petróleo es casi inexistente, pero aún así pareciera es negativa. Las instituciones parecieran disminuir cuando se incrementa el precio del petróleo. La relación entre las otras variables y el precio del petróleo parece ser moderada y directa, particularmente en el caso del número de docentes

cor(varPetroleo,varInstuciones)
## [1] -0.09881681
cor(varPetroleo,varMa)
## [1] 0.2454577
cor(varPetroleo, varEgreso)
## [1] 0.2162753
cor(varPetroleo, varDocentes)
## [1] 0.4105701

Relacion petroleo e algunos insumos de educacion. Relacion petroleo e algunos insumos de educacion.

par(mfrow=c(2,2))

plot(varPetroleo,varInstuciones, pch=19, col="darkblue")
plot(varPetroleo, varMa, pch=19, col="darkgreen")
plot(varPetroleo, varEgreso, pch=19, col="green4")
plot(varPetroleo,varDocentes, pch=19, col="blue2")

Ejemplo 2. Valor real de una magnitud

Dentro de nuestros análisis, el petróleo es fundamental. Es el insumo fundamental que mueve a este gran sistema llamado Venezuela. Debemos, entonces observar el comportamiento de este insumo, porque, dada la forma en que se ha estructurado la economía Venezolana, lo que ocurra con el petróleo, le ocurre al país.

Tenemos un marco de datos con información sobre la evolución de los precios del petróleo entre 1920 y agosto de 2016. Lo hemos creado a partir información obtenida del Ministerio de Petróleo de Venezuela, el Boletín Estadístico de la OPEP, 2016, y Asdrúbal Baptista (2003Baptista, Asdrubal. 2003. Bases Cuantitativas de La Economía Venezolana 1830-2002. Fundación Empresas Polar.). Tenemos que hacer algunas modificaciones:

Note que hemos unido los marcos de dato pPetroleo y preciosPetroleo. le hemos dicho a R que los una por las filas rbind(). R, entonces tomó el contenido del segundo marco de datos y lo empató a la parte final del primer marcos de datos.

sapply(preciosPetroleo, range)
##      anio precio
## [1,] 1920   0.61
## [2,] 2011 101.06

Dado que a data está hasta el año 2011, vamos a actualizar con los precios del petróleo venezolano 2012-2016

# precios del petroleo 2012-2016

pPetroleo <- data.frame(anio=c(2012, 2013, 2014, 2015, 2016),
                        precio = c(100.6, 96.66, 86.88, 
                                   41.11, 33.22))
# inspecciono
pPetroleo
##   anio precio
## 1 2012 100.60
## 2 2013  96.66
## 3 2014  86.88
## 4 2015  41.11
## 5 2016  33.22
#uno los dos marcos de datos por las filas
petroleoPrecios <-rbind(preciosPetroleo, pPetroleo)

# inspecciono
head(petroleoPrecios)
##   anio precio
## 1 1920   2.69
## 2 1921   1.23
## 3 1922   1.31
## 4 1923   1.46
## 5 1924   1.74
## 6 1925   6.10
tail(petroleoPrecios)
##    anio precio
## 92 2011 101.06
## 93 2012 100.60
## 94 2013  96.66
## 95 2014  86.88
## 96 2015  41.11
## 97 2016  33.22

Si visualizamos la data encontramos que Los precios del petróleo parecen haberse incrementado particularmente en los años setenta, con algunas fluctuaciones en los 80 y 90, para luego dispararse a comienzos del año 2000. Se hunde aproximadamente en 2008, para dispararse luego en el 2012, aproximadamente. Desde ese momento, el precio del petróleo experimenta la mayor caída de todo el lapso analizado.

Evolucion de los precios del petroleo venezolano. Evolucion de los precios del petroleo venezolano.

plot(petroleoPrecios, type="l", xlab="Años",
     ylab="barril/US. dolar")

Para calcular el valor real de una cantidad dada, se toma en cuenta el índice de precios al consumidor. Esto es, el incremento generalizado de los precios en un periodo dado. Si usted produce 100 pares de zapatos, en 2014 y vende la unidad en 2 bolívares, el ingreso es de 200 bolívares. Si usted produce los mismo 100 pares de zapatos en el año 2015 y los vende en 3 bolívares, el ingreso que obtiene es de 300 bolívares. Pareciera que usted ganó 100 bolívares de un año a otro. Sin embargo, eso no es cierto. Estos cien bolívares adicionales se deben al incremento de los precios, no de la producción. En realidad la variación en su producción es 0. Los índices de precios al consumidor, cuya variación conocemos con el nombre de inflación, nos ayudan a determinar si las variaciones se deben a un incremento real o a un efecto de los precios.

Esta gráfica, sin embargo, sería engañosa. Estamos evaluando la evolución de los precios del barril del petróleo partiendo del supuesto de que un dólar del año 2016 vale lo mismo, se puede adquirir lo mismo, que un dólar del año 1920. Eso no es cierto. En 1920, con un dólar se podía comprar muchísimo más servicios y productos que lo que se puede adquirir con esa misma cantidad en 2016. Es necesario, por consiguiente, reflejar la pérdida de valor de la moneda antes evaluar si en verdad el precio del barril de petróleo venezolano en el perido 2000-2012 ha sido el más alto de toda la historia. Es decir, la gráfica anterior refleja los precios nominales del barril de petróleo venezolano desde 1920 a la fecha. Necesitamos calcular el valor real del precio del barril.

Los Bancos Centrales de cada país, o las instituciones que hagan las veces, promedian el valor de una serie de bienes en las principales ciudades de cada país, en un año específico. El año base. Posteriormente, actualizan ese valor. Las variaciones que se obtienen de un año específico, con respecto al año base nos permiten calcular la inflación.

Dado que el valor del petróleo se expresa en dólares de Estados Unidos, usaremos el índice de precios al consumidor de ese país. El año base de ese índice es 1984. Por tanto, los resultados se leen como dólares del año 1984.

Tenemos la información del índice de precios al consumidor de Estados unidos desde 1913 a la fecha, 2016. Vamos a seleccionar la información que nos interesa, 1920-2016. Para calcular 2016, tomaremos el índice promedio de los meses disponibles

head(uscpiR)
##   Year  Jan  Feb  Mar  Apr  May June July  Aug  Sep  Oct  Nov  Dec
## 1 1913  9.8  9.8  9.8  9.8  9.7  9.8  9.9  9.9 10.0 10.0 10.1 10.0
## 2 1914 10.0  9.9  9.9  9.8  9.9  9.9 10.0 10.2 10.2 10.1 10.2 10.1
## 3 1915 10.1 10.0  9.9 10.0 10.1 10.1 10.1 10.1 10.1 10.2 10.3 10.3
## 4 1916 10.4 10.4 10.5 10.6 10.7 10.8 10.8 10.9 11.1 11.3 11.5 11.6
## 5 1917 11.7 12.0 12.0 12.6 12.8 13.0 12.8 13.0 13.3 13.5 13.5 13.7
## 6 1918 14.0 14.1 14.0 14.2 14.5 14.7 15.1 15.4 15.7 16.0 16.3 16.5
##   AnnualAvg Dec.Dec Avg.Avg
## 1       9.9       –       –
## 2      10.0     1.0     1.0
## 3      10.1     2.0     1.0
## 4      10.9    12.6     7.9
## 5      12.8    18.1    17.4
## 6      15.1    20.4    18.0
tail(uscpiR)
##     Year     Jan     Feb     Mar     Apr     May    June    July     Aug
## 99  2011 220.223 221.309 223.467 224.906 225.964 225.722 225.922 226.545
## 100 2012 226.655 227.663 229.392 230.085 229.815 229.478 229.104 230.379
## 101 2013 230.280 232.166 232.773 232.531 232.945 233.504 233.596 233.877
## 102 2014 233.916 234.781 236.293 237.072 237.900 238.343 238.250 237.852
## 103 2015 233.707 234.722 236.119 236.599 237.805 238.638 238.654 238.316
## 104 2016 236.916 237.111 238.132 239.261 240.236 241.038 240.647 240.853
##         Sep     Oct     Nov     Dec AnnualAvg Dec.Dec Avg.Avg
## 99  226.889 226.421 226.230 225.672   224.939     3.0     3.2
## 100 231.407 231.317 230.221 229.601   229.594     1.7     2.1
## 101 234.149 233.546 233.069 233.049   232.957     1.5     1.5
## 102 238.031 237.433 236.151 234.812   236.736     0.8     1.6
## 103 237.945 237.838 237.336 236.525   237.017     0.7     0.1
## 104      NA      NA      NA      NA        NA

Hacemos alguna modificaciones:

Hemos creado nuestro marco de datos con el índice de precios al consumidor de Estados Unidos desde 1920 a 2016.

# inspecciono las variables del marco de datos
names(uscpiR)
##  [1] "Year"      "Jan"       "Feb"       "Mar"       "Apr"      
##  [6] "May"       "June"      "July"      "Aug"       "Sep"      
## [11] "Oct"       "Nov"       "Dec"       "AnnualAvg" "Dec.Dec"  
## [16] "Avg.Avg"
# verifico que meses del año 2016 estan disponibles en el marco
uscpiR[104,]
##     Year     Jan     Feb     Mar     Apr     May    June    July     Aug
## 104 2016 236.916 237.111 238.132 239.261 240.236 241.038 240.647 240.853
##     Sep Oct Nov Dec AnnualAvg Dec.Dec Avg.Avg
## 104  NA  NA  NA  NA        NA
# creo el marco de datos desde 1920 hasta 2015
ipcUs<-uscpiR[8:103,c(1,14)]

#inspecciono
head(ipcUs)
##    Year AnnualAvg
## 8  1920      20.0
## 9  1921      17.9
## 10 1922      16.8
## 11 1923      17.1
## 12 1924      17.1
## 13 1925      17.5
tail(ipcUs)
##     Year AnnualAvg
## 98  2010   218.056
## 99  2011   224.939
## 100 2012   229.594
## 101 2013   232.957
## 102 2014   236.736
## 103 2015   237.017
# promedio 2016 y lo agrego al marco de datos
a2016<-data.frame(Year=2016, AnnualAvg=rowMeans(uscpiR[104,2:9]))

# uno los dos marcos
ipcUs<-rbind(ipcUs, a2016)
tail(ipcUs)
##     Year AnnualAvg
## 99  2011  224.9390
## 100 2012  229.5940
## 101 2013  232.9570
## 102 2014  236.7360
## 103 2015  237.0170
## 104 2016  239.2742

Con esta información podemos calcular y visualizar la evolución de la inflación en Estados Unidos hasta nuestros día.

Evolucion de la inflacion en Estados Unidos, 1913-2016 (1984=100). Evolucion de la inflacion en Estados Unidos, 1913-2016 (1984=100).

inflacionUsa<-diff(ipcUs$AnnualAvg)/ipcUs$AnnualAvg[1:96]
plot(inflacionUsa~ipcUs$Year[2:97], type="l")

Calculemos el precio real del barril de petróleo

# creamos una nueva variable en el marco de datos petroleoPrecios


petroleoPrecios$precioReal<-round(petroleoPrecios$precio/ipcUs$AnnualAvg*100,2)

tail(petroleoPrecios)
##    anio precio precioReal
## 92 2011 101.06      44.93
## 93 2012 100.60      43.82
## 94 2013  96.66      41.49
## 95 2014  86.88      36.70
## 96 2015  41.11      17.34
## 97 2016  33.22      13.88

Veamos ahora la evolución de los precios reales del barril del petróleo venezolano desde 1920 a la fecha y comparemos esta evolución con la de los precios nominales del barril

plot(petroleoPrecios$precioReal~petroleoPrecios$anio,
     type="l", 
     main= "Evolución del barril de petróleo venezolano.\n1984=100",
    ylab="Precio real (Us.$" ,
    xlab="Años")

plot(petroleoPrecios$precio~petroleoPrecios$anio,
     type="l",
     main= "Evolución del barril de petróleo venezolano.\n Precios nominales",
    ylab="Precio (Us.$" ,
    xlab="Años")

Si tomamos en cuenta la evolución de los precios nominales, efectivamente los precios del petróleo más altos de la historia se han obtendio entre aproximadamente 2010 y 2012. Sin Embargo, cuando tomamos en cuenta el precio real, notamos que:

  1. En 1974 no se obtuvo el mayor precio histórico del petróleo. En 1925, aproximadamente, los precios reales del petróleo fueron mucho más altos.
  2. A principio de los años 30, el petróleo alcanzó un nuevo pico, no tan alto como a mediados de los 20, pero mucho más alto que en los periodos subsiguientes, únicamente superado por la subida en los años 70.
  3. A finales de los 70, el precio real del barril venezolano cae, pero se recupera de nuevo en los 80. Hacia el 82 el precio inicia un hundimiento sostenido, hasta alcanzar su nivel mas bajo a finales de los 90, épocase en la que el barril se ubica en un valor smilar al que se tuvo a principios de los años 60.
  4. a principios de la primera década del 2000 el petróleo venezolano recupera su valor real, hasta alcanzar el nivel más alto de precio en la historia del crudo venezolano, tanto en 2008 como en 2012. Estos dos picos tienen el mismo valor real. y desde el 2013 el valor real se ha hundido hasta colocar su precio a valores similares a los de los inicios de la primera década del año 2000.
  5. Las crisis políticas en Venezuela parecieran estar relacionadas con el valor real del petróleo. El final de los años 30 e inicios de los 40, con el trienio adeco y el golpe de estado; la década del 60 y los movimientos insurgentes. Los 90 y los dos intentos de golpe de estado.

Observemos ahora la variación real de los precios de este producto:

variacionreal<-diff(petroleoPrecios$precioReal)/petroleoPrecios$precioReal[1:96]
plot(variacionreal~petroleoPrecios$anio[2:97], type="l")
abline(h=0, col="darkred", lwd=2)

En términos de crecimiento real, el petróleo experimentó dos crecimientos espectaculares en la década del 20 y a principios del 30, tomando en cuenta, además, que esos crecimientos se produjeron luego de caídas fuertes en el valor del barril. Eso implica que hubo un chorro inmenso de dólares que ingresaron a las arcas del estado y pasaron al manejo discrecional de los grupos en el poder. El tercer chorro ingresa a finales de los 80. Desde entonces, el crecimiento real del valor del barril del petróleo no ha sido tan grande y se ha caracerizado por fluctuaciones permanentes.

No hay comentarios.: