Sunteți pe pagina 1din 7

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 1

Universidad del Valle


Facultad de Salud
Maestra en Epidemiologa
INTRODUCCION A STATA
A. Generalidades de Stata
Esta es una introduccin a Stata, el programa estadstico que ser usado en este curso. Stata es un
programa amigablepero cuidado, como toda amistad, tiene sus condiciones: usted no puede
pedir que le ayude en momentos difciles si no ha trabajado antes esa amistad.
Stata ha cambiado durante los ltimos aos y cada nueva versin es ahora menos dependiente de
la escritura de comandos. Desde la versin 9 de Stata se posee la opcin de ejecutar los comandos
a travs de ventanas que se despliegan (es decir no es necesario memorizar ningn comando). Sin
embargo, es importante entender el lenguaje del programa, y por ello en estos manuales se
escriben los comandos. Especficamente, los comandos se vern en negrilla, mientras que los
nombres de las bases de datos y las variables en cursiva. Este curso se aproxima al programa
Stata a travs de la lnea de comandos, como un paso intermedio para avanzar a otras utilidades
no disponibles en esas ventanas (Ej: programacin, dofiles). Se trata de aprender la lgica de la
sintaxis de Statapara que usted pueda hablar con el programa sin tener que usar siempre un
diccionario o un traductor (las ventanas).
La pantalla bsica de Stata incluye las siguientes ventanas:
Review, mantiene un registro de los comandos que se han utilizado
Variables, donde se pueden ver las variables de la base de datos en uso
Results, para las salidas de los comandos
Command, para escribir los comandos a realizar
En la parte superior de la pantalla est la barra de comandos que despliega las funciones de
Stata:
File: para abrir, grabar y recordar nombres de archivos, grabar e imprimir las grficas y las
salidas de los anlisis.
Edit: copiar, pegar y opciones de grficas y tablas.
Object:manipulacin de objeto
Graph:edicin de grficas
Tools:ms herramientas de edicin
Data: revisar, editar y modificar las variables de la base de datos
Graphics: comandos de grficas
Statistics: comandos de anlisis
User:
Window: para acceder a otras ventanas del programa.
Help: ayuda en lnea
Haciendo uso de cada una de ellas se pueden abrir las ventanas de dilogo para dar una orden en
Stata.
Ejemplo: despliegue la lista de Statistics, la primera opcin es Summaries, tables and tests. Vaya
a Summary and descriptive statistics y a su vez a Binomial CI calculator y haga click. Aparecer

Fabin Mndez.

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 2

una ventana. Seleccione 250 ensayos y 17 xitos, y un intervalo de confianza de 99%. Haga click
en Submit. Esta es un ejemplo de uso de Stata como calculadora (sin cargar una base)
Un poco ms abajo est la barra de botones, la cual posee algunos de los comandos arriba
mencionados. Explore el uso de cada uno de los botones. Usted cuenta adems con la ayuda en
lnea. Busque en Help y despliegue esa ventana. En las opciones: Search o Stata Command, usted
puede escribir el comando para el que necesita ayuda.
En la sesin de hoy revisaremos algunos comandos bsicos para el manejo de bases de datos,
conoceremos una de las bases de datos que se utilizar durante el curso y haremos uso de ella
para algunos comandos.
B. Leer bases de datos
Hay diferentes mtodos a travs de los cuales el programa puede leer bases de datos en formatos
no-Stata. En el caso de datos separados por espacios, como es el de la base que utilizaremos a
continuacin, el comando a utilizar es infile.
El formato general de comando es:
infile varlist [_skip[(#)][varlist [skip[(#)]...]]] using filename [if exp] [in range]
Las expresiones en corchetes son opcionales y permiten ignorar algunas variables (_skip) o
algunas observaciones (if, in)
Se utilizarn los datos en el archivo MALARCOM12.CSV que se refiere a individuos residentes en
el rea peri-urbana de Buenaventura.

edad en aos
gnero: 1=M 0=F
etnia: 1= negro 0=otro
nmero de personas en la familia
nmero de aos en el barrio
ocupacin (rural=1; urbana=0)
nmero de aos de escolaridad
tom cloroquina ltimo ao (0=no, 1=s/SEM, 2=s/automedica)
antecedentes de malaria en el ltimo ao (1=s 0=no)
nmero de episodios previos de malaria en el ltimo ao
conoce los sntomas de la malaria(1=s 0=no)
conoce la etiologa de la malaria(1=s 0=no)
conocimiento sobre prevencin: toldillo (1=sabe, 0= no)
conocimiento sobre prevencin: fumigacin(1=sabe, 0= no)
conocimiento sobre prevencin: elimina criaderos (1=sabe,
0= no)
usa toldillo (1=s, 0=no)
usa repelente (1=s, 0=no
usa insecticida (1=s, 0=no)
resultado de gota gruesa (1=positivo 0=negativo)

Ledos en un procesador de palabras (o en Excell) los registros de la base aparecern de la


siguiente forma, cada nmero correspondiendo a un valor de las variables enunciadas:

Fabin Mndez.

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 3

26 0 1 4 4 0 7 0 0 0 1 1 0 1 1 1 0 1 0
13 1 0 6 3 0 6 0 0 0 1 1 0 0 0 0 0 0 0
Para leer la base de datos en Stata utilizamos el comando infile seguido de los nombres asignados
a las variables y el archivo fuente precedido de la palabra using. Denomine las variables con los
nombres que se sugieren en el comando a continuacin (el orden y los espacios son
fundamentales):
. infile edad fem0mas1 etnia perpfami yearbarr ocurural yearesco sem1aut2 malar93 malar93n
conosint conoetio conotol conofum conocri usatol usarepe usainse gg using
c:\suarchivo\malarcom12.csv
(1380 observations read)
OJO: Reemplace la palabra c:\suarchivo por el nombre de la carpeta donde usted tiene su archivo
(la ruta completa a su archivo). Si Stata no ley 1380 observaciones su comando tiene un error.
El uso de buenos nombres para sus variables es muy importante para evitar confusiones
posteriormente. Los nombres muy cortos son prcticos y ahorran espacio, papel y tinta; pero
puede que usted no recuerde luego su variable. Desde Stata 7.0 los nombres de las variables
pueden tener cualquier longitud (veremos luego que de todas maneras a las variables se le pueden
colocar etiquetas).
Esta forma de importar usando el comando infile, se puede considerar ahora obsoleta, pero es
posible que algn da la necesite. Sin embargo, existen desde hace algunos aos en el mercado
programas que facilitan la conversin entre formatos diferentes (uno de ellos es Stat-Transfer).
Digitando describe o usando la tecla F3 usted puede ver una descripcin general de los datos
importados. Note que las variables han sido grabadas (por defecto) en el formato o tipo float (de
esto depende cunto espacio es utilizado para grabar cada registro). Un listado de los tipos de
variables con los que puede guardar sus datos lo encuentra en la ayuda en lnea para datatypes.
En este caso, usted puede ahorrar espacio (porque sus variables tienen valores entre -127 y 126)
de la siguiente forma:
. clear
. infile byte( ..idem..) using
. describe [Note la diferencia del tamao de la base]
A continuacin puede usar el comando list para ver la base y puede etiquetar la base, las variables
o los valores utilizando el comando label.
. list in 1/1
Observation 1
edad
perpfami
yearesco
malar93n
conotol
usatold
gg

26
4
7
0
0
1
0

fem0mas1
yearbarr
sem1aut2
conosint
conofum
usarepe

0
4
0
1
1
0

etnia
ocurural
malar93
conoetio
conocri
usainse

. label data "Prevalencia de Malaria en Buenaventura/INSALPA"


. label var perpfami "personas/familia"
Fabin Mndez.

1
0
0
1
1
1

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 4

. label define raza 0 otro" 1 "negro"


. label values etnia raza (Nota: primero la variable, luego el nombre de la etiqueta)
Usted puede continuar colocando etiquetas a las dems variables y finalmente obtener una
descripcin de la base de datos (comando describe) como la que se da a continuacin:
. describe
Contains data
obs:
1,380
vars:
19
27 Feb 2000 21:04
size:
31,740 (96.7% of memory free)
------------------------------------------------------------------------------1. edad
byte
%8.0g
age
2. fem0mas1 byte
%8.0g
genero
gender
3. etnia
byte
%8.0g
etnia
race
4. perpfami byte
%8.0g
family members
5. yearbarr byte
%8.0g
time in 'barrio'
6. ocurural byte
%9.0g
rural ocupation
7. yearesco byte
%8.0g
years of education
8. sem1aut2 byte
%9.0g
chloroquine intake
9. malar93
byte
%8.0g
malaria in 1993
10. malar93n byte
%8.0g
malaria episodes in 1993
11. conosint byte
%8.0g
knowledge of symptoms
12. conoetio byte
%8.0g
knowledge of etiology
13. conotol
byte
%8.0g
knowledge about bednets
14. conofum
byte
%8.0g
knowledge about spraying
15. conocri
byte
%8.0g
knowledge about breeding sites
16. usatold
byte
%8.0g
Use of bednets
17. usarepe
byte
%8.0g
Use of repellents
18. usainse
byte
%8.0g
Use of insecticides
19. gg
byte
%8.0g
thick smear
------------------------------------------------------------------------------Sorted by:
Note: dataset has changed since last saved

Como dice la nota final, la base de datos debe grabarse despus de todos los cambios realizados.
Se usa el comando save, seguido de la ruta (directorio) donde desea grabar el archivo:
. save C:\suarchivo\malcom12.dta
file C:\suarchivo\malcom12.dta saved
En modificaciones subsiguientes usted slo necesitar escribir: save, replace.
Con la base grabada ya en formato Stata usted podr, en sesiones de trabajo posteriores, abrir su
base de datos (comando open) sin usar nuevamente el comando infile.
C. Cmo grabar e imprimir los resultados de una sesin
Para guardar e imprimir los resultados de una sesin en Stata, se necesita crear un archivo tipo
log. Usted puede utilizar el ratn para sealar en la lnea de botones de comandos el botn
correspondiente a log. Una ventana aparecer y pedir un nombre para este archivo, por ejemplo:
sesion1.log. Los comandos que a continuacin se digiten y las salidas respectivas quedarn
grabadas en l y podrn imprimirse directamente (use file en la lnea superior de comandos y
luego print log...) o leerse en un editor de texto.
Adicionalmente, usted puede seleccionar de la ventana de resultados, o de la ventana de grficas,
copiar y pegar en un editor de texto (con los comandos a los que Bill nos tiene acostumbrados:
control-Ccontrol-V).

Fabin Mndez.

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 5

D. Algunos comandos de uso general


1) Estadsticas univariadas (summarize):
Este comando permite obtener un resumen de las estadsticas univariadas. La sintaxis general es:
[by varlist:] summarize [varlist][if exp][in range] {,detail }
Un resumen para la variable edad:
. su edad
Variable |
Obs
Mean
Std. Dev.
Min
Max
---------+----------------------------------------------------edad |
1380
24.5971
18.37547
0
85

Estadsticas resumen ms detalladas se obtienen adicionando detail despus de una coma:


. su edad, detail
edad
------------------------------------------------------------Percentiles
Smallest
1%
1
0
5%
2.5
0
10%
5
0
Obs
1380
25%
10
0
Sum of Wgt.
1380
50%
75%
90%
95%
99%

20
Largest
80
81
83
85

35
53
62.5
75

Mean
Std. Dev.

24.5971
18.37547

Variance
Skewness
Kurtosis

337.6577
.9364916
3.222887

Para obtener estadsticas de una variable (Ej.: edad) clasificando los registros por la distribucin
de una segunda variable (Ej.: genero), se ordena la base (sort) y luego se utiliza la opcin by; por
ejemplo:
. sort fem0mas1
. by fem0mas1: su edad
2) Tablas (tabulate, table):
Existen dos comandos similares, pero con capacidades diferentes. El comando tabulate
(abreviado a tab) produce tablas de frecuencia de una o dos vas, con algunas opciones para
estadsticas resumen. La sintaxis es:
[by varlist:] tabulate varname1 varname2 [if exp][in range]
[,row col cell chi2 exact nolab plot]
Ejemplo:
. tab fem0mas1, plot
Fabin Mndez.

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 6

. tab etnia fem0mas1, col row cell chi2


La sintaxis general del comando table es :
table rowvar [colvar [supercolvar]][if exp][in range]
[, contents(clist)[by(superrowvarlist)]
Si queremos conocer la media del nivel de escolaridad por gnero para cada etnia:
. table fem0mas1 etnia,c(mean yearesco)
----------+------------------|
race
fem0mas1|
otro
black
----------+------------------female | 4.304659 3.542918
male | 3.717489 2.847087
----------+-------------------

3) Generar nuevas variables (generate-replace):


Sirve para crear una nueva variable o cambiar los contenidos de una variable existente. Se utilizan
los siguientes comandos:
generate [type] newvar =exp
replace oldvar =exp
Por ejemplo, para crear una variable de la edad al ingreso al barrio:
. generate edadbar= edad- yearbarr
. su edadbar
Variable |
Obs
Mean
Std. Dev.
Min
Max
---------+----------------------------------------------------edadbar |
1380
19.01087
17.85204
0
80

Para generar una variable creando categoras de edad en 3 grupos 0-10, 11-40 y >40 aos:
. generate grupedad=recode(edad,10,40,85)
. tab grupedad
Tenga en cuenta que los valores asignados a las categoras de esta variable deben modificarse, si
se quieren utilizar para clculos adicionales.
. recode grupedad 10=0 40=1 85=2
. tab grupedad
Luego puede asignarle rtulos a estos cdigos:
. label define catedad 0 "0-10 1 "11-40" 2 >40
. label values grupedad catedad
. tab grupedad
Existe, sin embargo, una opcin ms rpida con el comando recode. Puede usted descifrarla?

Fabin Mndez.

BIOESTADSTICA II, 2013

INTRODSTATA/ pag. 7

EJERCICIOS TALLER # 1:
EJERCICIO 1:
Derive las siguientes variables y asgneles etiquetas tanto a cada variable como a los valores.

catybarr: categoras de nmero de aos en el barrio (<1, 1-5, >5)


catyesco: categoras de nmero de aos de escolaridad (0, 1-4, 5-11, >11)

Verifique que cada categora incluye los valores correspondientes.


EJERCICIO 2:
Describa la prevalencia de gota gruesa positiva de acuerdo con las siguientes variables:
grupedad, sem1aut2 y conocri. (haga cruces en tablas de 2 x n)
Describa en sus palabras los hallazgos. Cules son las categoras ms afectadas por la malaria?
Proponga una posible explicacin.
REPASE: Cul es el uso de las opciones if o in en un comando?
Cules son las diferencias entre los comandos tabulate y table?
RECUERDE: Stata necesita que usted le dedique tiempo para considerarlo su amigo

Fabin Mndez.

S-ar putea să vă placă și