Está en la página 1de 21

1.

- Elegir el directorio de trabajo (donde buscara la base de datos)

cd “directorio/…”

directorio/… es el directorio donde tienes los archivos a estudiar.

2.- Importar base de datos en Excel por ejemplo

import excel "name.xlsx", sheet("Hoja1") firstrow clear

Alternativamente Podemos ir a la barra de herramientas


3.- Usar la base en formato stata (.dta) con nombre dataname.dta

use dataname, clear

, es la opción extra en stata clear limpia la memoria antes de introducir una nueva base.

4.- Guardar la base en formato stata (.dta) con nombre dataname.dta

save dataname, replace

replace implica reemplazar la base existente, a veces lo mejor es guardarlo con otro nombre,
sino ponemos el mismo nombre tenemos el nombre por defecto

save, replace

5.-Para limpiar la memoria de stata

clear all

se borra lo que esta en la memoria como la base

6.-Para conocer el directorio que usa Stata

sys dir

EJEMPLO

PARA VARIABLES NÚMERICAS

1.- Usar una base de internet en Stata


webuse auto, clear
. webuse auto, clear
(1978 Automobile Data)

Usaremos la base auto disponible en la pág. de stata para explorar los comandos de aquí en
adelante.

Nota: el punto (.) implica el comando que se usó, escríbalo sin el punto

2.-Describir la base de datos

describe

. des

Contains data from http://www.stata-press.com/data/r15/auto.dta


obs: 74 1978 Automobile Data
vars: 12 13 Apr 2016 17:45
size: 3,182 (_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

Describir una variable de la base

describe make
. des make

storage display value


variable name type format label variable label

make str18 %-18s Make and Model

3.-Resumir una variable (price) con media, desviación estándar, mínimo, máximo y numero
de observaciones

summarize price

sum price
. sum price

Variable Obs Mean Std. Dev. Min Max

price 74 6165.257 2949.496 3291 15906


Resumir una variable (price) ) con media, desviación estándar, mínimo, máximo y numero de
observaciones, percentiles, kurtosis y skewness

summarize price, detail

sum price, de
. sum price, de

Price

Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 74
25% 4195 3748 Sum of Wgt. 74

50% 5006.5 Mean 6165.257


Largest Std. Dev. 2949.496
75% 6342 13466
90% 11385 13594 Variance 8699526
95% 13466 14500 Skewness 1.653434
99% 15906 15906 Kurtosis 4.819188

Resumir dos variables (price headroom) con media, desviación estándar, mínimo, máximo y
numero de observaciones
. sum price headroom , de

Price

Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 74
25% 4195 3748 Sum of Wgt. 74

50% 5006.5 Mean 6165.257


Largest Std. Dev. 2949.496
75% 6342 13466
90% 11385 13594 Variance 8699526
95% 13466 14500 Skewness 1.653434
99% 15906 15906 Kurtosis 4.819188

Headroom (in.)

Percentiles Smallest
1% 1.5 1.5
5% 1.5 1.5
10% 2 1.5 Obs 74
25% 2.5 1.5 Sum of Wgt. 74

50% 3 Mean 2.993243


Largest Std. Dev. .8459948
75% 3.5 4.5
90% 4 4.5 Variance .7157071
95% 4.5 4.5 Skewness .1408651
99% 5 5 Kurtosis 2.208453

4.- Generar un variables


. gen var1=1

. gen var2=.
(74 missing values generated)
. gen var3=0

Var1 es una variable llena de unos, var2 es una variable sin valores (missing values), var3 es
una variable llena de ceros.

. browse var1 var2 var3

Reemplazar variables

. replace var2=1.13
(74 real changes made)
Reemplazar una variable existente con nuevos valores ejemplo 1.13
suma var1 + var2 (númericas)

. gen var4=var1+var2

resta var4 - var2 (númericas)

. gen var5=var4-var2

dividir var1 / var2 (númericas)

. gen var6=var5/var4

multiplicar var1 * var2 (númericas)

. gen var9=var5/var5
. replace var1=var1*5
(74 real changes made)

Crear una variable en logaritmos

. gen lprod=log(price)
. gen lprice2=ln(price)
Las dos nuevas variables tienen los mismos valores, puedes verlas usando por ejemplo una
lista

list lprod lprice price in 1/10


. list lprod lprice price in 1/10

lprod lprice2 price

1. 8.318499 8.318499 4,099


2. 8.46569 8.46569 4,749
3. 8.242494 8.242494 3,799
4. 8.479699 8.479699 4,816
5. 8.965335 8.965335 7,827

6. 8.663542 8.663542 5,788


7. 8.401333 8.401333 4,453
8. 8.554296 8.554296 5,189
9. 9.246865 9.246865 10,372
10. 8.314342 8.314342 4,082

Nota: stata usa punto por defecto como decimales

Crear una variable al cuadrado

. gen price2=price*price

. gen price1=price^2

Las dos nuevas variables tienen los mismos valores

list price2 price1 price in 1/10


. list price2 price1 price in 1/10

price2 price1 price

1. 1.68e+07 1.68e+07 4,099


2. 2.26e+07 2.26e+07 4,749
3. 1.44e+07 1.44e+07 3,799
4. 2.32e+07 2.32e+07 4,816
5. 6.13e+07 6.13e+07 7,827

6. 3.35e+07 3.35e+07 5,788


7. 1.98e+07 1.98e+07 4,453
8. 2.69e+07 2.69e+07 5,189
9. 1.08e+08 1.08e+08 10,372
10. 1.67e+07 1.67e+07 4,082

Podemos sacar exponencial de una variable como el antilogaritmo de la variable anterior


. gen eprice=exp(lprice2)

crear una variable de conteo (cuenta desde la primera observación hasta la ultima en la base)

gen conteo=_n

crear una variable con el total de observaciones

gen conteototal=_N

list conteo conteototal in 1/10


. list conteo conteototal in 1/10

conteo conteo~l

1. 1 74
2. 2 74
3. 3 74
4. 4 74
5. 5 74

6. 6 74
7. 7 74
8. 8 74
9. 9 74
10. 10 74

.
Nota: stata identifica mayúsculas y minúsculas, por lo tanto Price y price serian dos variables
diferentes para stata.

Generar una variable como el máximo valor de otra, ejemplo una variable como el máximo
valor del precio

egen maxprice=max(price)

egen minprice=min(price)

list maxprice minprice in 1/5


. list maxprice minprice in 1/5

maxprice minprice

1. 15906 3291
2. 15906 3291
3. 15906 3291
4. 15906 3291
5. 15906 3291

Igualmente podemos usar una variable como la media

egen meanprice=mean(price)

También podemos usar display para mostrar solo valores

. display 5/5
1
. dis 8*9
72

Podemos ver tablas t y F

Por ejemplo, queremos ver la t-student de la tabla a un 5% de probabilidad con dos colas con
17 grados de libertad (n-k), tenemos

. . display invttail(17,0.025)
2.1098156
Nota: en excel podemos usar =+INV.T.2C(0.05;17), ojo la diferencia de 0.025 en stata es que
por defecto usa una cola, para dos colas dividimos 0.05/2

Podemos ver la probabilidad

dis tprob(17,2.1098156)=0.05
. dis tprob(17,2.1098156)
.05

Nota: en Excel usamos =+DISTR.T.2C(2.1098156;17)

Podemos también obtener los valores de la tabla F, por ejemplo para dos grados de libertad en
el numerador y 18 en el denominador, al 5% de probabilidad, tenemos

. dis invFtail(2, 18, 0.05)


3.5545571
Nota: en Excel escribimos =+INV.F.CD(0.05;2;18)

Para encontrar la probabilidad en cambio usamos

. dis Ftail(2,18, 3.5545571)


.05
Nota: en Excel usamos =+DISTR.F.CD(3.5545571;2;18)

Podemos contar cuantas observaciones tenemos

count

Podemos mostrar lista de valores por ejemplo las primeras 10 observaciones


. list price foreign in 1/10

price foreign

1. 4,099 Domestic
2. 4,749 Domestic
3. 3,799 Domestic
4. 4,816 Domestic
5. 7,827 Domestic

6. 5,788 Domestic
7. 4,453 Domestic
8. 5,189 Domestic
9. 10,372 Domestic
10. 4,082 Domestic

Contar si alguna variable tiene una variable especifica, por ejemplo quiero saber si la variable
rep78 tiene observaciones perdidas (missing values), escribiria

. count if rep78==.
5
Si queremos reemplazar los puntos por valores, por ejemplo con ceros, usamos el comando
replace ya que la variable rep78 ya existe

. replace rep78=0 if rep78==.


(5 real changes made)
RENOMBRAR VARIABLES

rename var1 varnew

MOSTAR LAS VARIABLES

browse
Te muestra la ventana con los datos (no puedes editar solo ver)

edit
Puedes aquí editar las variables (no aconsejable)

Para ver las correlaciones entre variables usamos el comando corr

corr price mpg

. corr price mpg


(obs=74)

price mpg

price 1.0000
mpg -0.4686 1.0000

Para hacer una regresión por MCO usamos el comando reg

reg price mpg


. reg price mpg

Source SS df MS Number of obs = 74


F(1, 72) = 20.26
Model 139449474 1 139449474 Prob > F = 0.0000
Residual 495615923 72 6883554.48 R-squared = 0.2196
Adj R-squared = 0.2087
Total 635065396 73 8699525.97 Root MSE = 2623.7

price Coef. Std. Err. t P>|t| [95% Conf. Interval]

mpg -238.8943 53.07669 -4.50 0.000 -344.7008 -133.0879


_cons 11253.06 1170.813 9.61 0.000 8919.088 13587.03

PARA DATOS CATEGORICOS

Tabular una variable categórica (sexo, educación, raza, etc.) para mostrar sus frecuencias. Por
ejemplo, queremos tabular la variable foreign que es categórica para saber si el carro es
extranjero o nacional, escribimos tabulate o solo tab
. tab foreign

Car type Freq. Percent Cum.

Domestic 52 70.27 70.27


Foreign 22 29.73 100.00

Total 74 100.00

Si queremos saber los valores que toman domestic y foreign ya que tienen etiquetas (nombres
puestos sobre el numero en la memoria del stata para entender mejor el código de la
variable), podemos quitarle la etiqueta

. tab foreign, nol

Car type Freq. Percent Cum.

0 52 70.27 70.27
1 22 29.73 100.00

Total 74 100.00
Tabular una variable y mostrar el resumen de otra, por ejemplo, queremos tabular el tipo de
carro es extranjero o nacional (variable foreign) y mostrar su precio (price), la tabla mostraría
la media del precio para tipo de carro extranjero o nacional.
. tab foreign, sum(price)

Summary of Price
Car type Mean Std. Dev. Freq.

Domestic 6,072.423 3,097.104 52


Foreign 6,384.682 2,621.915 22

Total 6,165.257 2,949.496 74

Si queremos por ejemplo tabular la marca del carro (make) y si es domestico o extranjero (la
variable foreign), tipiamos.
. tab make foreign

Car type
Make and Model Domestic Foreign Total

AMC Concord 1 0 1
AMC Pacer 1 0 1
AMC Spirit 1 0 1
Audi 5000 0 1 1
Audi Fox 0 1 1
BMW 320i 0 1 1
Buick Century 1 0 1
Buick Electra 1 0 1
Buick LeSabre 1 0 1
Buick Opel 1 0 1
Buick Regal 1 0 1
GRAFICOS

Un scatter (nube de puntos) entre precio (Price) y kilometraje del carro (mpg)
. scatter price mpg

Si queremos añadirle al gráfico una línea de ajuste

. twoway scatter price mpg || lfit price mpg


Twoway crea dos o más gráficos juntos, mientras que el primer grafico lo hacemos con scatter
price mpg, el segundo se hace separándolo con || y lfit es el comando de la línea de ajuste (no
scatter) entre Price mpg

Lo mismo se consigue si reemplazamos el || por () paréntesis entre los gráficos, es decir:

twoway (scatter price mpg) (scatter price mpg)

adicionalmente Podemos condicionarlos, por ejemplo, foreign es una categórica que identifica
con un cero si es nacional y un 1 si es extranjero el carro, podemos hacer dos scatter (nube de
puntos separando las observaciones entre nacionales y extranjeras, es decir:

twoway (scatter price mpg if foreign==0) (scatter price mpg if foreign==1)


twoway (scatter price mpg if foreign==0) (scatter price mpg if foreign==1) (lfit price mpg if
foreign==1) (lfit price mpg if foreign==0)
Podemos ampliar los gráficos y hacer con mucho más detalle (nivel avanzado de como
funciona el sotfware) por ejemplo

twoway (scatter price mpg if foreign==0, mlabel( make ) graphregion(color(white))


bgcolor(white) legen(order(1 "Domestic" 2 "Foreign" 3 "Ajuste Domestic" 4 "Ajsute Foreign")))
(scatter price mpg if foreign==1, mlabel( make )) (lfit price mpg if foreign==1) (lfit price mpg if
foreign==0, title("Nube de puntos") subtitle("price vs mpg") note("nota:Gráfico de ejemplo
para los estudiantes"))

adicionalmente se puede exportar como imagen png, escribimos

graph export "Graph1.png", as(png) replace

Para ver el histograma de una variable (divisiones por default)


. histogram price
(bin=8, start=3291, width=1576.875)
Si queremos la densidad (kernel) y compararla con la normal
. kdensity price, normal

Si queremos graficar barras de precios por tipo de carro (nacional y extranjero)

. graph bar price, by(foreign)


Si queremos un gráfico de barras con la misma información

. graph pie price , over( foreign ) plabel(_all name)

Nota: para más gráficos revisar https://www.stata.com/support/faqs/graphics/gph/stata-


graphs/

También podría gustarte