Вы находитесь на странице: 1из 32

Stata 9.

0 para economistas
Milenka Moschella y Juan Manuel Rivas

El entorno de Stata 9.0


El despliegue de Stata presenta cuatro ventanas diferentes:
Review
Command

Variables
Results

Aqu aparecen los comandos que han sido utilizados durante la sesin.
Solo los resultados ms recientes son visibles en esta pantalla.
Sirve para utilizar Stata de forma interactiva, es decir se emplea para
crear las lneas de comandos y llevar a cabo las aplicaciones
disponibles en el software.
Nos informa sobre las variables que estn disponibles en nuestra base
de datos para realizar las diversas aplicaciones
Esta nos permite visualizar los resultados (outputs) de los estadsticos
que pedimos calcular o de los modelos que solicitamos estimar.

El tamao y posicin de las ventanas puede ser ajustado segn las preferencias del usuario y las
cuales pueden ser guardadas utilizando Prefs \Save Windowing Preferences.
Tambin podemos modificar el color de fondo o las fuentes de la ventana Stata Results eligiendo
la siguiente opcin del men principal: Prefs \General Preferences
Otras ventanas importantes son:
Stata Editor
Stata Viewer
programa.
Stata Graphs
Stata Do-file Editor
Stata Browser

permite navegar y modificar los datos como si fuese una hoja de Excel.
permite acceder a informacin en lnea y tambin a la ayuda del
presenta el ltimo grfico realizado.
es una ventana separada en Windows y funciona como un editor de
textos que permite ejecutar una lista de comandos.
permite visualizar los datos, mas no modificarlos.

Nota : Si alguna ventana esta cerrada podemos abrirla desde el men Window.

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

El men de comandos de Stata 8


Todos los comandos de Stata8 (excepto los de programacin) han sido implementados con
cuadros de dilogo y se pueden acceder a ellos desde el men principal, el cual est
organizado por tpicos:

Seleccionamos una opcin desde los mens Data, Graphics o Statistics y llenamos la caja o
cuadro de dilogo correspondiente:
Por ejemplo, para acceder al cuadro de dilogo siguiente, utilizamos la ruta que presentamos a
continuacin, la cual se encuentra en los mens desplegables:
Statistics/Linear Regression and Related/ Linear regression

Esta forma de trabajar con el programa de manera interactiva es lo que Stata llama GUI
(Graphic User Interface), lo cual es una mejora de la versin 8 respecto de las anteriores. Si
bien Stata 8 permite trabajar de manera interactiva, sigue siendo un programa manejado por
comandos (al igual que RATS 6), debido a que cada ventana se encuentra asociada a un
comando (a diferencia de Eviews 5.0, en donde las ventanas desplegables estn orientadas a
objetos), por lo que aprender a manejar Stata8 mediante comandos ser de mucha utilidad,
sobre todo si lo que se desea es programar en este lenguaje.

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

La barra de herramientas de Stata 8


Adems, Stata presenta una barra de herramientas que permite realizar operaciones usuales
como abrir un archivo, grabarlo, imprimir o ver alguna ventana en particular.
Sirve para abrir una base de datos de Stata.
Sirve para grabar en el disco la base de datos que est siendo usada.
Imprime los grficos o el contenido de la ventana Stata Viewer.
Empieza una nueva bitcora, abre una existente, cierra o suspende la que se est
usando.
Muestra una ventana Stata Viewer que est oculta.
Muestra la ventana Stata Results.
Muestra el ltimo grfico creado.
Abre un Do-File Editor o muestra la ventana de Do-File Editor que est oculta
(equivale a ctrl+8).
Abre Stata Editor o muestra la ventana de Stata Editor que est oculta (equivale a
edit).
Abre Stata Browser o muestra la ventana de Stata Browser que est oculta (equivale
a browse).
Le dice a Stata que contine la ejecucin de un comando que ha sido detenido.
Detiene Stata (equivale a la tecla q).

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

EJEMPLO DE SESIN EN STATA8


A continuacin, veremos en qu consiste una sesin de trabajo en Stata 8 y exploraremos
algunos comandos. Al mismo tiempo conoceremos la forma interactiva de trabajo con Stata
utilizando la Barra de Mens y los GUI para realizar paralelamente algunas tareas.

Abrir una base de datos.


Para abrir una base de datos desde el men principal, seguimos la siguiente ruta: File/Open.
En el cuadro de dilogo que aparece a continuacin se elige el archivo deseado, que en este
caso tiene la extensin de los archivos de datos nativos de Stata, dta.
Como ejemplo de sesin abriremos el archivo auto.dta:
Este archivo contiene una base de datos de autos: 74 observaciones y 12 variables definidas a
continuacin:
make
price
mpg
rep78
headroom
trunk
weight
length
turn
displacement
gear_ratio
foreign

=
=
=
=
=
=
=
=
=
=
=
=

Make and Model


Price
Mileage (mpg)
Repair Record 1978
Headroom (in.)
Trunk space (cu. ft.)
Weight (lbs.)
Length (in.)
Turn Circle (ft.)
Displacement (cu. in.)
Gear Ratio
Car type.

Observemos que se han suscitado cambios en las siguientes ventanas:


Review:
Variables:
Stata Results:

use "C:\DATA\auto.dta", clear


aparece la lista con las variables del archivo auto.dta
use "C:\DATA\auto.dta", clear

Nota: Al ejecutar los comandos mediante estos mens adems se registra en la ventana Stata
Review el comando equivalente para la ventana Stata Command. Esta caracterstica es muy
til cuando se aprende Stata porque es posible ejecutar un comando mediante la GUI y luego
repetirlo empleando comandos.
Cuando cargamos en la memoria el archivo auto.dta mediante el men Stata, ste ha
incorporado en la ventana de resultados los comandos equivalentes que se hubiesen tenido
que poner en Stata Command para obtener el mismo resultado. Los comandos se han
almacenado en la ventana Review del mismo modo que sucedera si hubisemos digitado los
comandos en dicha ventana. Si bien trabajar con la barra de herramientas y con los mens
desplegables es ms intuitivo, para el usuario experto es ms rpido y sencillo potente trabajar
directamente con los comandos (lo cual le permite emplear los archivos de ejecucin y la
programacin avanzada)

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Inspeccin de los datos.


Para ver una descripcin rpida de los datos ingresamos describe. Para copiar a MSWord lo
que acaba de aparecer en la ventana de resultados iluminamos dicho resultado y lo copiamos
como texto o como tabla, luego de pegarlo le aplicamos formato indicando el tipo tamao 9 y
fuente Courier New.

use "C:\Program Files\Stata9\auto"


(1978 Automobile Data)
The data that we loaded contain
. describe
Contains data from http://www.stata-press.com/data/r9/auto.dta
obs:
74
1978 Automobile Data
vars:
12
13 Apr 2005 17:45
size:
3,478 (99.9% of memory free)
(_dta has notes)
-----------------------------------------------------------------------------storage display
value
variable name
type
format
label
variable label
-----------------------------------------------------------------------------make
str18 %-18s
Make and Model
price
int
%8.0gc
Price
mpg
int
%8.0g
Mileage (mpg)
rep78
int
%8.0g
Repair Record 1978
headroom
float %6.1f
Headroom (in.)
trunk
int
%8.0g
Trunk space (cu. ft.)
weight
int
%8.0gc
Weight (lbs.)
length
int
%8.0g
Length (in.)
turn
int
%8.0g
Turn Circle (ft.)
displacement
int
%8.0g
Displacement (cu. in.)
gear_ratio
float %6.2f
Gear Ratio
foreign
byte
%8.0g
origin
Car type
-----------------------------------------------------------------------------Sorted by: foreign
------------------------------------------------------------------------------

. ds
make
price
mpg

/*lista las variables en forma compacta*/


rep78
weight
displacement
headroom
length
gear_ratio
trunk
turn
foreign

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

. codebook make mpg rep78 weight


------------------------------------------------------------------------------make
Make and Model
------------------------------------------------------------------------------type:
unique values:
examples:

warning:

string (str18), but longest is str17


74

missing "":

0/74

"Cad. Deville"
"Dodge Magnum"
"Merc. XR-7"
"Pont. Catalina"
variable has embedded blanks

------------------------------------------------------------------------------mpg
Mileage (mpg)
------------------------------------------------------------------------------type:
range:
unique values:
mean:
std. dev:

numeric (int)
[12,41]
21

units:
missing .:

1
0/74

21.2973
5.7855

percentiles:

10%
14

25%
18

50%
20

75%
25

90%
29

------------------------------------------------------------------------------rep78
Repair Record 1978
------------------------------------------------------------------------------type:

numeric (int)

range:
unique values:

[1,5]
5

tabulation:

Freq.
2
8
30
18
11
5

units:
missing .:

1
5/74

Value
1
2
3
4
5
.

------------------------------------------------------------------------------weight
Weight (lbs.)
------------------------------------------------------------------------------type:
range:
unique values:
mean:
std. dev:
percentiles:

numeric (int)
[1760,4840]
64

units:
missing .:

10
0/74

3019.46
777.194
10%
2020

25%
2240

50%
3190

75%
3600

90%
4060

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Hacer listados puede ser informativo


A continuacin se muestra una parte de nuestra data:
. list make mpg in 1/10

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

+---------------------+
| make
mpg |
|---------------------|
| AMC Concord
22 |
| AMC Pacer
17 |
| AMC Spirit
22 |
| Buick Century
20 |
| Buick Electra
15 |
|---------------------|
| Buick LeSabre
18 |
| Buick Opel
26 |
| Buick Regal
20 |
| Buick Riviera
16 |
| Buick Skylark
19 |
+---------------------+

Qu carros tienen el menor millaje por galn?


. sort mpg
. list make mpg in 1/5

1.
2.
3.
4.
5.

+-------------------------+
| make
mpg |
|-------------------------|
| Linc. Continental
12 |
| Linc. Mark V
12 |
| Linc. Versailles
14 |
| Merc. XR-7
14 |
| Cad. Deville
14 |
+-------------------------+

Cules son los cinco autos con mayor millaje por galn?

. list make mpg in -5/-1

70.
71.
72.
73.
74.

+----------------------+
| make
mpg |
|----------------------|
| Toyota Corolla
31 |
| Plym. Champ
34 |
| Subaru
35 |
| Datsun 210
35 |
| VW Diesel
41 |
+----------------------+

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Para ver los datos tal como si los visemos en MSExcel digitamos browse y aparece la
ventana Stata Editor.
Browse

Para editar los datos escribimos edit o pulsamos el botn correspondiente:


Edit

Nota : Cuando las ventanas Browser y Edit se encuentran abiertas es imposible ingresar
comandos, puesto que la barra Stata Command desaparece.
En cuanto a los Tipos de variables, Stata tiene 5 tipos de variables de datos:
float
double
byte
int
long

nmeros reales en formato 8,5 (8 cifras enteras, cinco decimales)


nmeros reales en formato 16,5
enteros entre 127 y 100
enteros entre 32767 y 32740
enteros entre 3147483647 y 2147483620

Stata por defecto le asigna formato float a una variable de datos nueva.
Intercooled Stata8.0 soporta cadenas de hasta 80 caracteres de largo.
str1
str80

cadenas de 1 carcter
cadenas de 80 caracteres

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Estadsticas descriptivas
Como no estoy familiarizado con los precios de 1978, cul es el precio promedio de los carros
en esta base de datos?
. summarize price
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------price |
74
6165.257
2949.496
3291
15906

summarize funciona como list, pero sin argumentos, nos da un resumen de toda la data:
. summarize
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------make |
0
price |
74
6165.257
2949.496
3291
15906
mpg |
74
21.2973
5.785503
12
41
rep78 |
69
3.405797
.9899323
1
5
headroom |
74
2.993243
.8459948
1.5
5
-------------+-------------------------------------------------------trunk |
74
13.75676
4.277404
5
23
weight |
74
3019.459
777.1936
1760
4840
length |
74
187.9324
22.26634
142
233
turn |
74
39.64865
4.399354
31
51
displacement |
74
197.2973
91.83722
79
425
-------------+-------------------------------------------------------gear_ratio |
74
3.014865
.4562871
2.19
3.89
foreign |
74
.2972973
.4601885
0
1

Nota: la variable make tiene 0 observaciones debido a que es una variable de cadena
(string) , calcular una media bajo este comando est indefinido pero no es un error
hacerlo. La variable rep78 slo tiene 69 observaciones porque no tiene registro para 5
carros.

Cul es el precio promedio de los carros que se encuentran por encima y por debajo de la
media de mpg?
. summarize price if mpg<21.3
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------price |
43
7091.86
3425.019
3291
15906
. summarize price if mpg>=21.3
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------price |
31
4879.968
1344.659
3299
9735

if puede utilizarse como sufijo para casi todos los comandos. Esta es una de las caractersticas
ms tiles en Stata.

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Cul es la mediana de mpg?


. summarize mpg, detail
Mileage (mpg)
------------------------------------------------------------Percentiles
Smallest
1%
12
12
5%
14
12
10%
14
14
Obs
74
25%
18
14
Sum of Wgt.
74
50%

20

75%
90%
95%
99%

25
29
34
41

Largest
34
35
35
41

Mean
Std. Dev.

21.2973
5.785503

Variance
Skewness
Kurtosis

33.47205
.9487176
3.975005

Respuesta: 20.

Nuestra base de datos contiene la variable foreign que esta codificada de la siguiente manera:
0 si el carro ha sido fabricado los Estados Unidos o Canada, y 1 si el carros ha sido fabricado
en otra parte.
Existen diferencias de precio o millaje explicadas por el origen de fabricacin?
Para saberlo tenemos que estimar las estadsticas de resumen para las variables price y MPG
en los dos casos se recoge la variable foreign.
Existen dos soluciones para este problema:
1. Tipeando los comandos
summarize price mpg if foreign==0
summarize price mpg if foreign==1
2.

O, introduciendo las siguientes lneas de comandos:

. sort foreign
. by foreign: summarize price mpg
------------------------------------------------------------------------------> foreign = Domestic
Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------price |
52
6072.423
3097.104
3291
15906
mpg |
52
19.82692
4.743297
12
34
------------------------------------------------------------------------------> foreign = Foreign

Variable |
Obs
Mean
Std. Dev.
Min
Max
-------------+-------------------------------------------------------price |
22
6384.682
2621.915
3748
12990
mpg |
22
24.77273
6.611187
14
41

Parece que el MPG promedio de los carros domsticos extranjeros es diferente. Lo que
queremos ahora es saber si son "estadsticamente" diferente. Para ello haremos un contraste
de hiptesis para verificar si las medias de ambos grupos son iguales.

10

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

. ttest mpg, by(foreign)


Two-sample t test with equal variances
-----------------------------------------------------------------------------Group |
Obs
Mean
Std. Err.
Std. Dev.
[95% Conf. Interval]
---------+-------------------------------------------------------------------Domestic |
52
19.82692
.657777
4.743297
18.50638
21.14747
Foreign |
22
24.77273
1.40951
6.611187
21.84149
27.70396
---------+-------------------------------------------------------------------combined |
74
21.2973
.6725511
5.785503
19.9569
22.63769
---------+-------------------------------------------------------------------diff |
-4.945804
1.362162
-7.661225
-2.230384
-----------------------------------------------------------------------------diff = mean(Domestic) - mean(Foreign)
t = -3.6308
Ho: diff = 0
degrees of freedom =
72
Ha: diff < 0
Pr(T < t) = 0.0003

Ha: diff != 0
Pr(|T| > |t|) = 0.0005

Ha: diff > 0


Pr(T > t) = 0.9997

A partir de esta prueba hemos establecido que los carros domsticos en 1978 tenan un menor
millaje de gasolina que los carros extranjeros.

Tablas
Ahora, lo que queremos es saber el nmero de carros domsticos y extranjeros.
. tabulate foreign
Car type |
Freq.
Percent
Cum.
------------+----------------------------------Domestic |
52
70.27
70.27
Foreign |
22
29.73
100.00
------------+----------------------------------Total |
74
100.00

La base de datos contiene la variable rep78 que a registrar la frecuencia de mantenimiento


para cada caso (1 = mala, ..., 5 = excelente). Cmo ha sido el mantenimiento de los carros de
la muestra?
. tabulate rep78
Repair |
Record 1978 |
Freq.
Percent
Cum.
------------+----------------------------------1 |
2
2.90
2.90
2 |
8
11.59
14.49
3 |
30
43.48
57.97
4 |
18
26.09
84.06
5 |
11
15.94
100.00
------------+----------------------------------Total |
69
100.00

11

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Tenemos 74 carros, slo 69 tienen registrada la variable rep78 . Queremos conocer los carros
para los cuales esta informacin no existe.
. list make if rep78>=.

14.
17.
23.
27.
72.

+---------------+
| make
|
|---------------|
| Plym. Sapporo |
| Buick Opel
|
| Pont. Phoenix |
| AMC Spirit
|
| Peugeot 604
|
+---------------+

Nota: list make if rep78>=. es equivalente a list make if missing(rep78)


Queremos saber si existen tambin diferencias entre las frecuencia de mantenimiento
explicadas por el origen de fabricacin. Comparemos los registros para los carros domsticos y
extranjeros, es decir, hagamos una tabla en la que comparemos dos variables rep78 y foreign.
. tabulate rep78 foreign
Repair |
Record |
Car type
1978 | Domestic
Foreign |
Total
-----------+----------------------+---------1 |
2
0 |
2
2 |
8
0 |
8
3 |
27
3 |
30
4 |
9
9 |
18
5 |
2
9 |
11
-----------+----------------------+---------Total |
48
21 |
69

Parece que los carros domsticos tienen una menor frecuencia de mantenimiento. A
continuacin, queremos determinar si esta diferencia es estadsticamente significativa. Para
ello realizaremos un test chi2 (a pesar de que no se cumple la condicin de que debe haber
como mnimo cinco observaciones en cada celda de la tabla).
. tabulate rep78 foreign, chi2
Repair |
Record |
Car type
1978 | Domestic
Foreign |
Total
-----------+----------------------+---------1 |
2
0 |
2
2 |
8
0 |
8
3 |
27
3 |
30
4 |
9
9 |
18
5 |
2
9 |
11
-----------+----------------------+---------Total |
48
21 |
69
Pearson chi2(4) =

27.2640

Pr = 0.000

Hemos encontrado que la frecuencia de mantenimiento es diferente de por el origen de


fabricacin. Podemos inferir que los carros domsticos tenan un menor nivel de mantenimiento
en 1978.

12

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Matrices de correlacion
Cul es la correlacin entre MPG y el peso de un carro?
. correlate mpg weight
(obs=74)
|
mpg
weight
-------------+-----------------mpg |
1.0000
weight | -0.8072
1.0000

Comparemos esta correlacin para los carros domsticos y extranjeros:


. correlate mpg weight if foreign==0
(obs=52)
|
mpg
weight
-------------+-----------------mpg |
1.0000
weight | -0.8759
1.0000

. correlate mpg weight if foreign==1


(obs=22)
|
mpg
weight
-------------+-----------------mpg |
1.0000
weight | -0.6829
1.0000

Nota: Podemos haber obtenido ningn resultado tipeando by foreign: correlate mpg
weight.
Podemos estimar matrices de correlacin con tantas variables como querramos.
. correlate mpg weight price length displacement
(obs=74)
|
mpg
weight
price
length displa~t
-------------+--------------------------------------------mpg |
1.0000
weight | -0.8072
1.0000
price | -0.4686
0.5386
1.0000
length | -0.7958
0.9460
0.4318
1.0000
displacement | -0.7056
0.8949
0.4949
0.8351
1.0000

13

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Generacin bsica de grficos


Sabemos que el millaje promedio entre los carros domsticos y extranjeros es diferente. Hemos
visto tambin que el origen de fabricacin explica otras diferencias, tales como la frecuencia de
reparacin. Por otro lado, hemos encontrado una correlacin negativa entre MPG y el peso del
carro (como era de esperarse) pero esta correlacin parece ser ms fuerte cuando analizamos
carros domsticos. A continuacin examinaremos, con la intencin de ms adelante modelar, la
relacin entre MPG y el peso. Comenzaremos graficando un ploteo simple
Para crear grficos seguimos un procedimiento similar. Desde el men principal:
Graphics/Easy graphs/Scatter plot, y en el cuadro de dilogo, con el cursor en la casilla X
variable pulsamos mpg y en la casilla Y variable pulsamos weight. Luego de pulsar el botn
OK, nos mostrar la siguiente pantalla.

Tamben podemos tipear la siguiente orden:


. scatter mpg weight

scatter y x dibuja un grfico de y contra x. Notamos que la relacin a primera vista no es lineal.

14

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

A continuacin, realizaremos dos grficos separados para los carros domsticos y extranjeros.
. sort foreign
. scatter mpg weight, by(foreign, total row(1))

La relacin no es nicamente no lineal, sino que tambin parece diferir para los carros
domsticos y extranjeros.

15

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Regresin lineal
Queremos modelar la relacin entre MPG y el peso (weight).
Basndonos en los grficos, hemos encontrado que la relacin es no lineal y modelaremos
MPG con un efecto cuadrtico en el peso. Tambin, basndonos en los grficos, creemos que
la relacin es diferente para los carros domsticos y extranjeros. Para recoger esta informacin
incluiremos una variable indicadora (dummy) para los carros extranjeros llevaremos despus si
esta variable describe adecuadamente la diferencia. Por lo tanto, estimaremos el siguiente
modelo:
mpg = 0 + 1 weight + 2 weight2 + 3 foreign +
foreign ya es una variable codificada como 0/1 , nicamente necesitamos crear la variable del
peso al cuadrado:
Para tal efecto, debemos crear el cuadrado de weight

Manipulacin bsica de variables


Desde el men principal utilizamos la siguiente ruta: Data/Create or change variables/Create
new variable y aparece un cuadro de dilogo en el cual debemos ingresar el nombre de la
variable y su regla de creacin.
En la casilla Generate variable escribimos wtsq, pulsamos el botn Create, elegimos la
variable weight con un click en la ventana de variables usamos la calculadora para elevar esta
variable al cuadrado finalmente pulsamos el botn OK en los dos cuadros de dilogo.
Al final de este proceso vemos que ha aparecido una nueva variable (wtsq) y que el comando
empleado en su creacin ha aparecido en la ventana de Results y en la ventana Review.
Nota 4: En Stata los comandos deben ir siempre en minsculas, Para los nombres de las
variables Stata tomar en cuenta si empleamos minsculas o maysculas, no son la misma
variable Curso, curso, CURSO, ni por ejemplo CurSo.
Observemos que por defecto a la nueva variable se le ha asignado el tipo float.

Nota 5: Para reejecutar los comandos pulsamos el comando en la ventana Review o lo


escogemos con las teclas avanzar pgina y/o retroceder pgina.

16

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

A continuacin se indican los procesos para la Creacin de variables


generate newvar=exp crea una variable nueva
replace oldvar=exp
reemplaza una variable (Stata no sobrescribe variables, este comando
no se puede abreviar)
drop
keep

borra una variable


borra las variables no nombradas

Nota : los caracteres vlidos son dgitos (0-9), caracteres (a-z y A-Z) y el guin bajo (_), Stata
recomienda que las variables comiencen con maysculas (para evitar confusiones con los
comandos que siempre van en minsculas)
Obtenemos la misma variable con los siguientes comandos:
. gen wtsq = weight^2

17

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Estimacin de una relacin lineal por Mnimos Cuadrados Ordinarios


Para efectuar cualquiera de los mtodos de estimacin posibles en Stata 8.0 debemos partir
del men Statistics. Adems de los mltiples mtodos de estimacin disponibles, podemos
definir nuestros propios comandos desde el men User, tal como veremos en una sesin
subsiguiente.
Para el caso de la estimacin por Mnimos Cuadrados Ordinarios, desde el men principal:
Statistics/Linear regression and related/linear regresin. En el cuadro de dilogo respectivo
ingresamos la variable dependiente mpg y las explicativas, que en este caso son: weight,
weight^2, foreign

Nota : Una forma alternativa de incluir las variables del modelo de regresin en el cuadro de
dilogo es haciendo clic sobre ellas.

. regress mpg weight wtsq foreign


Source |
SS
df
MS
-------------+-----------------------------Model | 1689.15372
3
563.05124
Residual |
754.30574
70 10.7757963
-------------+-----------------------------Total | 2443.45946
73 33.4720474

Number of obs
F( 3,
70)
Prob > F
R-squared
Adj R-squared
Root MSE

=
=
=
=
=
=

74
52.25
0.0000
0.6913
0.6781
3.2827

-----------------------------------------------------------------------------mpg |
Coef.
Std. Err.
t
P>|t|
[95% Conf. Interval]
-------------+---------------------------------------------------------------weight | -.0165729
.0039692
-4.18
0.000
-.0244892
-.0086567
wtsq |
1.59e-06
6.25e-07
2.55
0.013
3.45e-07
2.84e-06
foreign |
-2.2035
1.059246
-2.08
0.041
-4.3161
-.0909002
_cons |
56.53884
6.197383
9.12
0.000
44.17855
68.89913
------------------------------------------------------------------------------

Nota : Stata incluye por defecto una constante como variable independiente en el modelo de
regresin.
Para estimar por Mnimos Cuadrados podemos ingresar directamente el comando:
. regress mpg weight wtsq foreign

18

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Nota : En general todos los mtodos de estimacin en Stata8 son similares, por lo que si
conocemos tericamente un mtodo de estimacin la implementacin mediante estos cuadros
de dilogo es muy simple. Adems los procesos estadsticos luego de la estimacin (intervalos
de confianza, prueba de hiptesis, etc) son similares en todas las metodologas.
Stata puede estimar varios tipos modelos, incluyendo la regresin logstica, la regresin de Cox
para riesgos proporcionales, etc.

Obtengamos los valores proyectados del modelo:


. predict mpghat
(option xb assumed; fitted values)
predict acaba de crear una nueva variable llamada mpghat igual a
.0165729weight + 1.59 * 106wtsq 2.2035foreign + 56.53884
Podemos graficar la data junto con la curva de regresin.
Hemos creado una variable mpghat con el comando predict. Podramos graficar el ajuste del
modelo con la data, pero lo que queremos evaluar ese ajuste de la data para los carros
domsticos y extranjeros por separados. Esto con el propsito de evaluar si nuestro parmetro
de fabricacin de origen es adecuado. Por lo tanto, crearemos grficos por separado:
. sort weight
. scatter mpg weight || line mpghat weight || if foreign==0

19

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

. scatter mpg weight || line mpghat weight || if foreign==1

scatter mpg weight grfica mpg vs weight como un ploteo. line mpghat weight grfica
mpghat vs weight como una lnea de ploteo. Los || sirven para empalmar los dos grficos.
Hemos mostrado nuestros resultados a un ingeniero. "No," dice. "Deberamos necesitar el
doble de energa para mover 2,000 libras 1 milla comparado con mover 1,000 libras, y por ello
el doble de gasolina. Millas por galn no tiene una relacin cuadrtica con el peso, galones por
milla es una funcin lineal del peso.
Volvamos a la computadora:
.
.
.
.

gen gpm = 1/mpg


label var gpm "Gallons per mile"
sort foreign
scatter gpm weight, by(foreign, total row(1))

20

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Satisfechos con el hecho de que el ingeniero tena razn, reestimamos la regresin:


. regress gpm weight foreign
Source |
SS
df
MS
-------------+-----------------------------Model | .009117618
2 .004558809
Residual |
.00284001
71
.00004
-------------+-----------------------------Total | .011957628
73 .000163803

Number of obs
F( 2,
71)
Prob > F
R-squared
Adj R-squared
Root MSE

=
=
=
=
=
=

74
113.97
0.0000
0.7625
0.7558
.00632

-----------------------------------------------------------------------------gpm |
Coef.
Std. Err.
t
P>|t|
[95% Conf. Interval]
-------------+---------------------------------------------------------------weight |
.0000163
1.18e-06
13.74
0.000
.0000139
.0000186
foreign |
.0062205
.0019974
3.11
0.003
.0022379
.0102032
_cons | -.0007348
.0040199
-0.18
0.855
-.0087504
.0072807
------------------------------------------------------------------------------

Hemos encontrado que los carros extranjeros en 1978 eran menos eficientes. Los carros
extranjeros tenan un mejor rendimiento de gas por milla que los domsticos en 1978, debido
nicamente ya que eran ms ligeros.

Guardar una base de datos.


Stata emplea la extensin dta para los archivos de bases de datos. Para grabar se pulsa el
botn que tiene el icono de un disco o desde el men principal: File/ Save o File /Save as.
Grabaremos la base de datos con un nuevo nombre: extension.dta.
Nota: Stata no guarda en el disco los cambios en las bases de datos a menos que ejecutemos
el comando save (en eso se parece a MSExcel), por lo que si se apaga o cuelga la mquina
perdemos los cambios.
Nota : En Stata hay compatibilidad hacia adelante, es decir, los comandos y bases de datos de
Stata7 sirven en Stata8 pero lo inverso no siempre es posible. Por ello si trabajamos con una
base de datos en Stata8 y luego la vamos a abrir en Stata7 deberemos grabarla con formato de
Stata7 desde el Stata8.

21

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

ALGUNOS TIPS
Cmo puedo cambiar la fuente de la ventana de resultados?
La ventana Stata Results tiene uncono en la esquina superior izquierda. Al seleciconarlo
aparece un menu que permite seleccionar la fuente del texto. Se puede repetir el proceso en
cada ventana.

Cmo leo un archivo que tiene ms de 1 megabyte de memoria?


Por defecto, Stata nicamente lee archivos hasta de 1mb. Si se intenta leer un archivo ms
grande sale el siguiente mensaje de error.
no room to add more observations
r(901);
Se puede utilizar el comando set memory para asignar suficiente memoria para el archivo. Por
ejemplo si tenemos un archivo de 9 mb por lo menos debemos de asignar 9 mb (debemos de
tomar en cuenta la creacin de nuevas variables).
set memory 20m
(20480k)
Se puede hacer permanente esta configuracin de la siguiente manera:
set memory 20m, permanent
Cuando estimo un regresin anova, aparece un error matsize too small
Este problema se puede superar mediante el comando set matsize. La mayor configuracin es
de 800.
set matsize 800
Se puede hacer este cambio permanente de la siguiente manera:
set matsize 800, permanent
Por qu no puedo guardar el contenido de la ventana de resultados?
La ventana de resultados slo guarda los resultados ms recientes que swe hayan generado.
No guarda todos los resultados. Si se quiere guardar todos los resultados de la sesin de Stata,
se debe de crear un archivo *.log

22

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Qu puedo hacer para que la ventana de resultados guarde ms resultados?


Por ejemplo, si queremos que la ventana de resultados contenga hasta 300,000 bytes, se
puede utilizar el siguiente comando.
set scrollbufsize 300000
(set scrollbufsize will take effect the next time you launch Stata)
Como indica el mensaje, la configuracin tendr efecto recien en la siguiente sesin de Stata.
Sin embargo, esta configuracin ser recordada cada vez que se inicie una sesin.
Como guardo mis archivos log? Como guardo mis grficos?
Los archivos log no guardan los grficos. Hay algunas maneras de guardar los grficos, pero la
ms comun es la de copiarlos y pegarlos en Microsoft Word.

Si tengo Stata 8, puedo utilizar los comandos de grficos de la versin 7?


Si, existen tres maneras de hacer esto, la primera es utilizando el comando graph7, por
ejemplo:
graph7 read write
tambin se puede utilizar el prefijo version 7
version 7: graph read write
igualmente, se puede utilizar el comando version 7 command
version 7
graph read write
graph read math
graph read science
version 8
Si tengo Stata 8, puedo guardar archivos para poder utilizarlos en Stata 7?
Si, utilizando el comando saveold
saveold mydata
Este comando hace posible que el archivo guardado se pueda leer en las versiones 7,8 y 9 de
Stata.
Si quieres saber cuanto tiempo tomo correr el ltimo comando, utiliza el siguiente comando;
set rmsg on

23

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

El do-file
A travs de una ventana similar a la de un editor de textos es posible crear una
secuencia de comandos de STATA, los cuales se almacenan a travs de los llamados
do-files. La ventaja de estos archivos (de extensin *.do) es que permiten replicar un
conjunto de instrucciones previamente almacenadas. Esto ayuda a ir corrigiendo
posibles errores en la ejecucin de los comandos, adems de permitir guardar la rutina
de comandos ejecutados para sesiones posteriores.
Los dofiles permiten
1. Mantener un registro de todo lo que se ha hecho en la sesin y poder
replicarlo.
2. Correr una gran cantidad de comandos.
Se pueden considerar como un mecanismo de seguridad por permitir facilmente
regresar a la data original sin importar cuantas transformaciones se hayan realizado.

Recordemos que para abrir la ventana del Do-file Editor pulsamos el botn
correspondiente o las teclas {ctrl+8} o desde el men principal: Windows/Dofile Editor. Como ejemplo abriremos el archivo coment.do. Para ejecutar unas
lneas las iluminamos y luego pulsamos el penltimo botn de dicha ventana.
Para ejecutarlo todo pulsamos el ltimo botn o empleamos el comando do del
siguiente modo:

24

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Trabajando Interactivamente con Stata


Manejo de directorios
Stata se instala por defecto en C:\STATA\ y guarda los datos con los que se trabaje en
C:\DATA\ salvo que dicha configuracin de archivos haya sido cambiada. Para conocer con
que directorio est trabajando Stata se utiliza el comando pwd
. pwd
C:\Infopuc\Cursos\Stata\Sesion02
Con el comando sysdir se pueden visualizar los directorios que STATA emplea
para guardar
el programa y la informacin.
. sysdir
STATA: C:\STATA\
UPDATES: C:\STATA\ado\updates\
BASE: C:\STATA\ado\base\
SITE: C:\STATA\ado\site\
PLUS: c:\ado\plus\
PERSONAL: c:\ado\personal\
OLDPLACE: c:\ado\

Con el comando cd podemos cambiar de directorio donde se guardan los datos, aunque estos
cambios solo sern validos por la sesin en uso.
. cd C:\
C:\
. pwd
C:\

Para volver a fijar como directorio en uso el directorio anterior:


cd C:\Infopuc\Cursos\Stata\Sesion02

Para crear un nuevo directorio se emplea el comando mkdir:


mkdir sesion21012006
pwd

Para obtener un listado de todos los archivos del directorio en uso:


dir

Para restringir el listado a los datos:


dir *.dta

Es posible tambin copiar los datos de un archivo:


copy auto.dta auto.bak

Tambin es posible borrar archivos:


erase auto.bak

25

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Guardando Bitcoras
STATA permite guardar un registro de los comandos y los resultados. Para crear un archivo de
bitcora se usa el comando log using:
log using bitacora

Por defecto se guarda en el directorio en uso y en formato SMCL (que es el que usa STATA)
para presentar los resultados.

use "C:\cursos\Stata8\Sesion01\auto.dta,

clear

describe

Para parar momentneamente el registro de la bitcora:


log off

Este comando no ser registrado:


summ

Para reanudar el registro de la bitcora:


log on

Este comando si ser registrado:


tab rep78

Para detener la bitcora:


log close

Para reanudar una bitcora:


log using bitcora, append

Para sobrescribir una bitcora:


log using bitacora, replace

Para ver una bitcora:


type bitacora.smcl

Si lo nico que se desea es guardar los comandos debe emplearse cmdlog. Esta opcin es
especialmente til cuando lo que se busca es crear un archivo do.
cmdlog using C:\cursos\Stata8\Sesion01\comusados
help log

26

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

USO DEL MENU AYUDA DE STATA.


Comando help; Este es uno de los comandos ms importantes de Stata, pues presenta la
sintaxis de los comandos as como ejemplos de cmo se usan. Para pedirle ayuda a Stata
sobre un comando se escribe en la ventana de comandos help (o hel o he) seguido del nombre
del comando que queramos conocer.
Abramos el archivo auto.dta y luego escribamos:
help summarize
Observemos que el comando y sus opciones estn en letra blanca mientras que la mayor parte
del resto de la sintaxis va en letra verde 1 . En el nombre del comando se observa que las dos
primeras letras estn subrayadas, lo que indica que podemos en lugar de escribir el comando
como summarize podemos escribir su (o cualquier forma intermedia).
Notemos que todo lo que va entre corchetes es optativo y que en la sintaxis de los comandos
primero se ponen las variables, luego el peso, los condicionales (if) preceden a los rangos (in) y
les siguen las opciones despus de un coma:
[varlist]
[weight]
[if exp]
[in range]

es la lista de variables.
son los pesos o ponderaciones.
permite seleccionar la muestra donde exp es una expresin lgica.
permite seleccionar la muestra donde range es un rango de los datos.

La sintaxis de los comandos Stata tienen un formato comun:


[by lista de var:] comando lista de var [if expresion] [in rango][ponderadores]
[using nombre del archivo], [opciones]
Sin embargo usaremos una version mucho mas simple como:
[by lista de var:] comandolista de var [if expresion], [opciones]
El prefijo by permite aplicar el mismo comando separando la base de datos en subgrupos de
nidos por lista de var. Posteriormente viene el comando seguido por una segunda lista de var a
las cuales se les aplicara el comando elegido.
Los datos utilizados para evaluar el comando pueden ser limitados con las opciones if e in. Las
opciones especificas al comando tienen que ser precedidas por una coma.
Otra informacin clave es la forma en que podemos obtener ayuda. Todos los comandos Stata
tienen informacin acerca de la manera en que deben utilizarse (sintaxis y opciones); para
acceder a ella es solo cuestin de escribir la palabra help seguida por el nombre del comando
en la ventana de comandos de Stata. Si no conoce el nombre del comando que realiza la tarea
que tiene en mente, escriba la palabra findit seguida por una palabra que este relacionada con
dicha tarea. Este comando busca en toda la documentacin tanto interna como aquella que se
encuentra en la pagina red de Stata.
Stata se actualiza casi continuamente, los usuarios pueden escribir programas y mandarlos al
archivo de SSC (Statistical Software Components), por lo tanto es necesario hacer
actualizaciones de forma regular. El comando update query le indicar si es necesario hacer
actualizaciones.

La letra celeste se reserva para los hipervnculos.

27

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Explorando otras caractersticas de Stata


Modelos Avanzados

boxcox //Modelo de regresin Box-Cox


eivreg // Regresin errores en las variables
fracpoly // Regresin polinomial fraccional
frontier //Modelos de frontera estocstica
glm //Modelo lineal general
intreg //Regresin de intervalos
ivreg //Regersin con variables instrumentales
mfp // Regresin polinomial fraccional multivariada
mvreg // Regresin multivariada
newey // Regresin con errores estandarizados con la matriz de Newey West
nl //Estimacin de minimos cuadrados no lineales
orthog // Ortogonaliza variables y estima polinomios ortogonales
prais //Regresin de Prais-Winsten y Cochrane-Orcutt
qreg //regresin de cuantiles (incluye medianas)
reg3 //Estimacin en tres etapas para sistemas multiecuacionales
rreg // Regresin robusta
stcox //Modelo de riesgos proporcionales de Cox
streg //Modelo parmtrico de sobrevivencia
sureg //Regresin no relacionada de Zellner
stepwise // Estimacin paso a paso
treatreg //Modelo de efectos de tratamiento
vwls //Minmos cuadrados ponderados por la varianza

28

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Matrices

mata // inicio de mata


: end // fin de mata
:a=(1, 2 \ 3, 4); :b=(6, 3 \ 4, 9)
:a; :a[1,1]; :a[2,] :b[,2]
:c=a+b; :d=a-b
:e=a*b; :f=a:*b //elemento a elemento
:diag(); :diagonal() // crea una matriz diagonal y extrae la diagonal
:vec() //convierte una matriz en un vector columna
:trace(); :det(); :rank()
:cond(); :eigenvalues();
:cholesky()
:I(); :e() // identifica matrices y vectore unitarios
:J(row, col, constant) // matrix of constants

matrix input Y=(1, 2 \ 3, 4)


mkmat x1 x2 x3, matrix(X) // convierte matrices en variables
svmat x, name(x) // convierte una matriz en variables (x1, x2, x3)
matrix COV=get(VCE)
matrix BETA=get(_b)
matrix list X
matrix INVX=inv(X)
matrix DETX=det(X)

29

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Grficos bsicos

sysuse auto, clear


graph bar (mean) mpg turn, by(foreign)
graph bar (mean) mpg turn, over(foreign)
graph hbar (mean) mpg turn, over(foreign)
graph hbar (mean) mpg, over(foreign) over(class)
graph hbar (mean) mpg, over(class) over(foreign)
graph hbar (mean) mpg, over(class) over(foreign, sort(1) descending)
graph hbar (sum) mpg turn, over(class) stack
graph hbar (sum) mpg turn, over(class) by(foreign)
graph hbar (sum) mpg turn, over(class) by(foreign) stack
graph dot (mean) mpg, over(class)
graph dot (mean) mpg, over(class) over(foreign)
graph matrix mpg price turn, half
graph pie, over(class)
graph pie mpg turn trunk, plabel(_all name)

Ms grficos

scatter mpg weight


scatter mpg weight, sort
scatter mpg weight, sort connect(1)
scatter mpg weight, sort title("MPG versus Weight") subtitle("Year 2006")
scatter mpg weight, title("MPG versus Weight") caption("Source: STATA Corp. 2006")
scatter mpg weight, title("MPG versus Weight") xsize(4) ysize(3)
scatter mpg weight, ytitle("MPG (Mileage)") xtitle("Car Weight")
scatter mpg weight, title("MPG versus Weight") ylabel(#8) xlabel(0(2000)6000)
scatter mpg weight, title("MPG versus Weight") ylabel(minmax) xlabel(minmax)
scatter mpg weight, title("MPG versus Weight") yscale(log) xlabel(#5) // log scales
scatter mpg weight, sort xline(4000) yline(25)
scatter mpg weight, title("MPG versus Weight") msymbol(triangle)
scatter mpg weight || fpfit mpg weight
twoway fpfitci mpg weight
twoway fpfitci mpg weight || scatter mpg weight, m(d)
scatter mpg weight, sort title("MPG versus Weight") m(diamond) by(foreign)
scatter mpg weight, sort m(t) by(foreign, total row(1))
twoway fpfitci mpg weight, sort m(t) by(foreign, total row(1))
twoway fpfitci mpg weight || scatter mpg weight, sort m(t) by(foreign, total row(1))
scatter mpg turn weight
scatter mpg turn weight , yline(30) xline(3500)
scatter mpg trunk turn weight
scatter mpg weight || scatter trunk weight || scatter turn weight
scatter mpg weight, sort c(1) || line trunk weight, sort || scatter turn weight
twoway (line mpg weight, sort c(1)) (dropline trunk weight, sort) (scatter turn weight)

30

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Ploteando Funciones

twoway function y=x^3, range(-5 5) xsize(4) ysize(3) xlabel(#10) xline(0)


twoway function y=normalden(x), range(-5 5) xsize(4) ysize(2) xlabel(#10) xline(0)
twoway function y=1/sqrt(2*_pi)*exp(-x^2/2), range(-5 5) xsize(4) ysize(2) xlabel(#10)
xline(0)
twoway function y=normalden(x), range(-4 -1.96) xlabel(#10) xline(0) recast(area) ||
function y=normalden(x), range(1.96 4) recast(area) || function y=normalden(x), range(1.96 1.96) lstyle(foreground)
twoway function t=tden(3, x), range(-5 5) xsize(4) ysize(2) xline(0)
twoway function t=tden(1, x), range(-5 5) xsize(4) ysize(2) color(blue) lstyle(p1solid)
xlabel(-5(1)5) recast(area) || function z=normden(x), range(-5 5) color(maroon)
lwidth(thick)
scatter gear_ratio headroom, xsize(4) || function y=x, range(0 5)
twoway function c=chi2(1,x), range(0 5) xsize(4) ysize(3) yline(.5)
twoway function c=Fden(5, 10, x), range(0 5) xsize(4) ysize(3) yline(.3)

31

Stata 9.0 para economistas


Milenka Moschella y Juan Manuel Rivas

Tarea N1
Cree un archive log donde estn los comandos que utilizo para realizar la tarea explicados con
comentarios. Adicionalmente cree un archivo en Microsoft Word donde reporte las respuestas
de las tareas.
El archivo debe tener el siguiente nombre:
Nombre_apellido_T1.log
Nombre_apellido_T1.doc
Este archivo deber de ser entregado por correo.
1. Utilizando la data auto.dta, estime un modelo de regresin lineal entre el peso y los
galnes por milla. Justifique su modelacin con ploteos.
2. Realice un test de igualdad de medias entre la nueva variable galnes por milla entre
los carros domsticos y los extranjeros.
3. Busque mediante el comando help lo que hacen las opciones in, by, if
4. Explique que hacen los siguientes comandos:
sysuse auto
l
l
l
l
l
l
l
l

in 5/10
in -5/-1
in f/10
in -4/l
make mpg rep78 in 1/5
if mpg>=21
if mpg>=21 & price<=4500
if mpg>=21 & price<=5000&price>=4500

l if mpg>=21 & price<=4500&foreign==domestic


l if mpg>=21 & price<=4500&foreign==0
l if mpg>=21 & price<=4500&foreign==1
sort foreign
scatter mpg weight, by(foreign, total row(1))
gen wtsq = weight^2
regress mpg weight wtsq foreign
predict mpghat
sort weight
scatter mpg weight || line mpghat weight || if foreign==0

twoway fpfitci mpg weight || scatter mpg weight, sort m(t) by(foreign,
total row(1))
twoway function y=x^3, range(-5 5) xsize(4) ysize(3) xlabel(#10)
xline(0)

32

Вам также может понравиться