Existen varias alternativas para visualizar las variables disponibles en una sesión de trabajo:
Para visualizar alguna/s variable/s disponible/s en una sesión de trabajo a través de la Consola Gretl o de un Fichero de comandos se puede utilizar el comando print, cuyo formato es:
print v1 v2 … vk --opciones
Debe de tenerse en cuenta que el comando print no proporciona una salida de impresora sino una visualización en pantalla de las variables especificadas en el comando.
y:
Rango de datos completo: 1 - 10 (n = 10)
11.0000 11.0000 10.0000 9.00000 8.00000 11.0000 12.0000 10.0000
9.00000 12.0000
x1:
Rango de datos completo: 1 - 10 (n = 10)
2.46000 2.51000 2.73000 2.73000 2.63000 2.38000 2.44000 2.75000
2.98000 1.95000
x2:
Rango de datos completo: 1 - 10 (n = 10)
1079.50 1108.20 1116.80 978.090 809.620 1047.10 1164.30 1069.60
1040.30 1067.80
Por defecto, el comando print muestra las variables una a una (formato horizontal). Si interesa mostrar las variables en formato vertical (observación a observación), se utilizará la opción byobs.
Existen varias alternativas para generar nuevas variables:
Para crear nuevas variables se puede utilizar el comando genr, cuyo formato es:
genr nueva variable = f(variables existentes)
Si el resultado de la ecuación de cálculo utilizada en el comando genr es un escalar y el usuario desea definir una serie con todos los valores iguales entre si, deberá utilizar el comando genr series 1.
En el Cuadro 2‑2 se recogen algunos de los operadores que pueden utilizarse con el comando genr.
II. Operadores matemáticos:
(4) Suma à + (4) Resta à -
(3) Multiplicación à * (3) División à / (2) Exponenciación à ^
III. Relaciones lógicas:
(5) Igual à = (5) Distinto à != (5) Mayor o igual à >=
(5) Mayor à > (5) Menor à < (5) Menor o igual à <=
Si la relación propuesta se cumple la variable generada toma el valor uno, tomando el valor cero en caso contrario.
IV. Operadores lógicos:
(6) No à ! (6) Y à && (6) O à ||
Si la relación propuesta se cumple la variable generada toma el valor uno, tomando el valor cero en caso contrario.
Cuadro 2‑2 Algunos operadores disponibles con el comando genr.
Debe de tenerse en cuenta que estos operadores se ejecutan de acuerdo a su nivel de prioridad (se señala entre paréntesis con el número que antecede a cada operador) y, que entre operaciones de la misma prioridad, las expresiones se ejecutan de izquierda a derecha, puediéndose utilizar tantos niveles de paréntesis como sea necesario.
Si se suma, resta, multiplica y divide x1 y x2:
# Se genera la variable dx1x2 como diferencia de x1 y x2
? genr dx1x2 = x1 - x2
Se ha generado la serie dx1x2 (ID 6)
# Se genera la variable px1x2 como producto de x1 y x2
? genr px1x2 = x1 * x2
Se ha generado la serie px1x2 (ID 7)
# Se genera la variable cx1x2 como cociente entre x1 y x2
? genr cx1x2 = x1 / x2
Se ha generado la serie cx1x2 (ID 8)
? print x1 x2 sx1x2 dx1x2 px1x2 cx1x2 --byobs
x1 x2 sx1x2 dx1x2 px1x2 cx1x2
1 2.46 1079.50 1081.96 -1077.04 2655.570 0.002279
2 2.51 1108.20 1110.71 -1105.69 2781.582 0.002265
3 2.73 1116.80 1119.53 -1114.07 3048.864 0.002444
4 2.73 978.09 980.82 -975.36 2670.186 0.002791
5 2.63 809.62 812.25 -806.99 2129.301 0.003248
6 2.38 1047.10 1049.48 -1044.72 2492.098 0.002273
7 2.44 1164.30 1166.74 -1161.86 2840.892 0.002096
8 2.75 1069.60 1072.35 -1066.85 2941.400 0.002571
9 2.98 1040.30 1043.28 -1037.32 3100.094 0.002865
10 1.95 1067.80 1069.75 -1065.85 2082.210 0.001826
Si se calcula el cuadrado, la raíz cuadrada, la exponencial y el logaritmo de x1:
# Se genera la variable rx1 como la raíz cuadrada de x1
? genr rx1 = sqrt(x1)
Se ha generado la serie rx1 (ID 10)
# Se genera la variable ex1 como la exponencial de x1
? genr ex1 = exp(x1)
Se ha generado la serie ex1 (ID 11)
# Se genera la variable lx1 como el logaritmo de x1
? genr lx1 = log(x1)
Se ha generado la serie lx1 (ID 12)
? print x1 cx1 rx1 ex1 lx1 --byobs
x1 cx1 rx1 ex1 lx1
1 2.46 6.0516 1.568439 11.70481 0.900161
2 2.51 6.3001 1.584298 12.30493 0.920283
3 2.73 7.4529 1.652271 15.33289 1.004302
4 2.73 7.4529 1.652271 15.33289 1.004302
5 2.63 6.9169 1.621727 13.87377 0.966984
6 2.38 5.6644 1.542725 10.80490 0.867100
7 2.44 5.9536 1.562050 11.47304 0.891998
8 2.75 7.5625 1.658312 15.64263 1.011601
9 2.98 8.8804 1.726268 19.68782 1.091923
10 1.95 3.8025 1.396424 7.02869 0.667829
Si se retarda y adelanta x1:
Si se utiliza v(-p), p indica el nº de retardos, de manera que se estará retardando “p” períodos la variable. Nótese que cuando se retarda una variable p períodos y las primeras p observaciones no están definidas, Gretl deja estas observaciones en blanco 2.
Si utiliza v(+p), p indica el nº de adelantos, de manera que se estará adelantando “p” períodos la variable y, en este caso, son las p observaciones finales las que pueden no estar definidas, por lo que Gretl las deja en blanco.
# Se genera la variable r1x1 como el primer retardo de la variable x1
? genr r1x1 = x1(-1)
Se ha generado la serie r1x1 (ID 14)
# Se genera la variable ra4x1 como la variable x1 adelantada cuatro períodos
? genr ra4x1 = x1(+4)
Se ha generado la serie ra4x1 (ID 15)
# Se genera la variable ra1x1 como la variable x1 adelantada un período
? genr ra1x1 = x1(+1)
Se ha generado la serie ra1x1 (ID 16)
? print x1 r4x1 r1x1 ra4x1 ra1x1 --byobs
x1 r4x1 r1x1 ra4x1 ra1x1
1 2.46 2.63 2.51
2 2.51 2.46 2.38 2.73
3 2.73 2.51 2.44 2.73
4 2.73 2.73 2.75 2.63
5 2.63 2.46 2.73 2.98 2.38
6 2.38 2.51 2.63 1.95 2.44
7 2.44 2.73 2.38 2.75
8 2.75 2.73 2.44 2.98
9 2.98 2.63 2.75 1.95
10 1.95 2.38 2.98
Si se calcula la suma de x1:
La función sum(v) genera un escalar igual a la suma de los valores de la variable para el rango muestral corriente.
Nótese que cuando el resultado del comando genr es un escalar, no será necesario utilizar el comando print para visualizarlo, ya que Gretl lo muestra de forma inmediata conjuntamente con el mensaje de que se ha generado el escalar.
Si se calcula la suma acumulada de x1:
? print x1 sumx1 cumx1 --byobs
x1 cumx1
1 2.46 2.46
2 2.51 4.97
3 2.73 7.70
4 2.73 10.43
5 2.63 13.06
6 2.38 15.44
7 2.44 17.88
8 2.75 20.63
9 2.98 23.61
10 1.95 25.56
sumx1 = 25.560000
Obsérvese que el último elemento de la serie suma acumulada coincide con el sumatorio de la variable para el rango muestral.
Si se genera una variable igual a un valor concreto de otra variable:
? print x1 o2x1 --byobs
x1 o2x1
1 2.46 2.51
2 2.51 2.51
3 2.73 2.51
4 2.73 2.51
5 2.63 2.51
6 2.38 2.51
7 2.44 2.51
8 2.75 2.51
9 2.98 2.51
10 1.95 2.51
Obsérvese que para generar una variable que tome un valor concreto de otra variable es necesario incorporar en el comando genr “series”, puesto que en caso contrario se generará un escalar. Obsérvese que los valores de una variable se identifican por el nombre de la variable seguido de un número entre paréntesis que hace referencia a la observación correspondiente. En el ejemplo el número es dos, puesto que se trata de definir una variable que sea igual a la segunda observación de la variable x1 y que se ha denominado o2x1.
Para generar un escalar o una constante se puede utilizar el comando scalar. Por ejemplo, si se quiere definir una constante que contenga el valor de la segunda observación de x1:
Si se aplican las relaciones lógicas igual (=) y distinto (¹):
? genr v2 =(x1!=2.73)
Se ha generado la serie v2 (ID 20)
? print x1 v1 v2 --byobs
x1 v1 v2
1 2.46 0 1
2 2.51 0 1
3 2.73 1 0
4 2.73 1 0
5 2.63 0 1
6 2.38 0 1
7 2.44 0 1
8 2.75 0 1
9 2.98 0 1
10 1.95 0 1
Resulta conveniente que la relación lógica vaya entre paréntesis.
Si se aplican las relaciones lógicas mayor o igual (³), mayor (>), menor o igual (£) y menor (<):
? genr v4 = (x1>2.73)
Se ha generado la serie v4 (ID 22)
? genr v5 = (x1<=2.73)
Se ha generado la serie v5 (ID 23)
? genr v6 = (x1<2.73)
Se ha generado la serie v6 (ID 24)
? print x1 v3 v4 v5 v6 --byobs
x1 v3 v4 v5 v6
1 2.46 0 0 1 1
2 2.51 0 0 1 1
3 2.73 1 0 1 0
4 2.73 1 0 1 0
5 2.63 0 0 1 1
6 2.38 0 0 1 1
7 2.44 0 0 1 1
8 2.75 1 1 0 0
9 2.98 1 1 0 0
10 1.95 0 0 1 1
Si se aplican los operadores lógicos disyunción (“o”), conjunción (“y”) y negación (“no”):
? genr v8 = (x1=2.73) && (x1>=2.51)
Se ha generado la serie v8 (ID 26)
? genr v9 = !(((x1>2.46) && (x1<2.63)) && ((x2> 978) && (x2<1116)))
Se ha generado la serie v9 (ID 27)
? print x1 x2 v7 v8 v9 --byobs
x1 x2 v7 v8 v9
1 2.46 1079.50 0 0 1
2 2.51 1108.20 1 0 0
3 2.73 1116.80 1 1 1
4 2.73 978.09 1 1 1
5 2.63 809.62 1 0 1
6 2.38 1047.10 0 0 1
7 2.44 1164.30 0 0 1
8 2.75 1069.60 1 0 1
9 2.98 1040.30 1 0 1
10 1.95 1067.80 0 0 1
Obsérvese que si se utilizan los operadores lógicos y/o relaciones lógicas, cuando la relación propuesta se cumple, la variable generada tomará el valor uno y tomará el valor cero en caso contrario.
Si se aplica la función retardo de p períodos:
A diferencia de v(-p) donde se genera una única serie donde la variable v aparece retardada p períodos, lags(p,v), genera una lista de p series retardadas donde la primera se corresponde con el primer retardo y la última con el retardo p de la variable v.
? print x1 x1sr2 --byobs
x1 r1x1 x1_2
1 2.46
2 2.51 2.46
3 2.73 2.51 2.46
4 2.73 2.73 2.51
5 2.63 2.73 2.73
6 2.38 2.63 2.73
7 2.44 2.38 2.63
8 2.75 2.44 2.38
9 2.98 2.75 2.44
10 1.95 2.98 2.75
En este caso Gretl sólo genera una variable nueva (x1_2), dado que la serie r1x1 que contiene el primer retardo de la variable ya ha sido generada anteriormente al utilizar la función v(-1).
? print x1 x1sr4 --byobs
x1 r1x1 x1_2 x1_3 r4x1
1 2.46
2 2.51 2.46
3 2.73 2.51 2.46
4 2.73 2.73 2.51 2.46
5 2.63 2.73 2.73 2.51 2.46
6 2.38 2.63 2.73 2.73 2.51
7 2.44 2.38 2.63 2.73 2.73
8 2.75 2.44 2.38 2.63 2.73
9 2.98 2.75 2.44 2.38 2.63
10 1.95 2.98 2.75 2.44 2.38
En este caso Gretl sólo genera una variable nueva (x1_3), dado que las demás series de la lista ya han sido definidas anteriormente.
Si se aplica la función primeras diferencias:
? print y dif1y --byobs
y dif1y
1 11
2 11 0
3 10 -1
4 9 -1
5 8 -1
6 11 3
7 12 1
8 10 -2
9 9 -1
10 12 3
Además, el usuario puede utilizar el comando genr para calcular algunos de los estadísticos más utilizados para el análisis descriptivo de variables: máximo, mínimo, media, cuasivarianza, mediana, cuantiles, … .
# Se genera minx1 como el mínimo de x1
? genr minx1 = min(x1)
Se ha generado el escalar minx1 = 1.95
# Se genera mediax1 como la media de x1
? genr mediax1 = mean(x1)
Se ha generado el escalar mediax1 = 2.556
# Se genera la medianax1 como la mediana de x1
? genr medianax1 = median(x1)
Se ha generado el escalar medianax1 = 2.57
# Se genera cuantil1x1 como el primer cuartil de x1
? genr cuantil1x1 = quantile(x1,0.25)
Se ha generado el escalar cuantil1x1 = 2.425
# Se genera cuantil2x1 como el segundo cuartil de x1
? genr cuantil2x1 = quantile(x1,0.5)
Se ha generado el escalar cuantil2x1 = 2.57
# Se genera cuantil3x1 como el tercer cuartil de x1
? genr cuantil3x1 = quantile(x1,0.75)
Se ha generado el escalar cuantil3x1 = 2.735
# Se genera sctx1 como la suma de cuadrados de las desviaciones de x1 respecto a su media
? genr sctx1 = sst(x1)
Se ha generado el escalar sctx1 = 0.70644
# Se genera nobsx1 como el número de observaciones “no ausentes” de x1
? genr nobsx1 = nobs(x1)
Se ha generado el escalar nobsx1 = 10
# Se genera varx1 como la cuasivarianza de x1
? genr varx1 = var(x1)
Se ha generado el escalar varx1 = 0.0784933
# Se genera sdx1 como la cuasidesviación tipica de x1
? genr sdx1 = sd(x1)
Se ha generado el escalar sdx1 = 0.280167
# Se genera covx1x2 como la cuasicovarianza entre x1 y x2
? genr covx1x2 = cov(x1,x2)
Se ha generado el escalar covx1x2 = -5.3369
# Se genera corx1x2 como la correlación entre x1 y x2
? genr corx1x2 = corr(x1,x2)
Se ha generado el escalar corx1x2 = -0.195431
Como se verá más adelante, algunos de estos estadísticos se pueden visualizar, por ejemplo, utilizando el comando summary:
Media Mediana Mínimo Máximo
x1 2.5560 2.5700 1.9500 2.9800
x2 1048.1 1068.7 809.62 1164.3
Desv. Típica. C.V. Asimetría Exc. de curtosis
x1 0.28017 0.10961 -0.72470 0.44031
x2 97.472 0.092996 -1.4868 1.7583
Rango IQ Observaciones ausentes
x1 0.31000 0
x2 85.602 0
Gretl ofrece la posibilidad de que con un solo comando se generen varias variables simultáneamente. Los formatos de los comandos disponibles para ello son:
logs v1 v2 … vk à calcula las series de los logaritmos naturales de las variables incluidas en el comando y las guarda bajo la denominación l_v1, l_v2, …, l_vk
square v1 v2 … vk à calcula las series de los cuadrados de las variables incluidas en el comando y las guarda bajo la denominación sq_v1, sq_v2, …, sq_vk
lags p; v1 v2 … vk à calcula p series retardadas de cada una de las variables incluidas en el comando y las guarda bajo la denominación v1_1 (primer retardo de v1), v1_2 (segundo retardo de v1), …, v1_p (p-ésimo retardo de v1), v2_1 (primer retardo de v2), …, v2_p (p-ésimo retardo de v2), …
diff v1 v2 … vk à calcula las series de las primeras diferencias de las variables incluidas en el comando y las guarda bajo la denominación d_v1, d_v2, …, d_vk
ldiff v1 v2 … vk à calcula las series de las primeras diferencias de los logaritmos naturales de las variables incluidas en el comando y las guarda bajo la denominación ld_v1, ld_v2, …, ld_vk
sdiff v1 v2 … vk à calcula las series de las diferencias estacionales de las variables incluidas en el comando y las guarda bajo la denominación sd_v1, sd_v2, …, sd_vk
Si se aplican estos comandos a las variables x1 y x2:
? logs x1 x2
Listando 7 variables:
0) const 1) index 2) y 3) x1 4) x2
5) l_x1 6) l_x2
Véase que se han generado dos nuevas variables denominadas l_x1 y l_x2. Otra forma de generar las series de logaritmos naturales es seleccionar las variables en la Ventana Principal y pinchar Logaritmos de las variables seleccionadas del subménu Añadir de dicha ventana.
Véase que se han generado dos nuevas variables denominadas sq_x1 y sq_x2. Otra forma de generar las series de cuadrados es seleccionar las variables en la Ventana Principal y pinchar Cuadrados de las variables seleccionadas del subménu Añadir de dicha ventana.
Véase que se han generado cuatro nuevas variables denominadas x1_1, x1_2, x2_1 y x2_2. Otra forma de generar las series de retardos es seleccionar las variables en la Ventana Principal y pinchar Retardos de las variables seleccionadas del subménu Añadir de dicha ventana.
Véase que se han generado dos nuevas variables denominadas d_x1 y d_x2. Otra forma de generar las series de primeras diferencias es seleccionar las variables en la Ventana Principal y pinchar Primeras diferencias de las variables seleccionadas del subménu Añadir de dicha ventana.
Véase que se han generado dos nuevas variables denominadas ld_x1 y ld_x2. Otra forma de generar las series de primeras diferencias de los logaritmos naturales es seleccionar las variables en la Ventana Principal y pinchar en Diferencias de logaritmos de las variables seleccionadas del subménu Añadir de dicha ventana.
? sdiff x1 x2
Listando 19 variables:
0) const 1) index 2) y 3) x1 4) x2
5) l_x1 6) l_x2 7) sq_x1 8) sq_x2 9) x1_1
10) x1_2 11) x2_1 12) x2_2 13) d_x1 14) d_x2
15) ld_x1 16) ld_x2 17) sd_x1 18) sd_x2
Véase que se han generado dos nuevas variables denominadas sd_x1 y sd_x2. Otra forma de generar las series de diferencias estacionales es seleccionar las variables en la Ventana Principal y pinchar Diferencias estacionales de las variables seleccionadas del subménu Añadir de dicha ventana.
El usuario debe de tener en cuenta que no todos los comandos están disponibles con todas las estructuras de datos, por ejemplo, las diferencias estacionales, tan sólo están disponibles cuando se trabaja con series temporales no anuales.
Si no se está de acuerdo con la denominación que Gretl da a las variables creadas con estos comandos, se podrá cambiar el nombre de las mismas (véase epígrafe 2.6. ). Además, tal y como puede verse en la Ilustración 2‑8, para facilitar la identificación de las variables, Gretl proporciona una etiqueta que permite recordar como han sido generadas dichas variables.