30/05/2012
1
Introducción a Stata
Alfonso MurielAlfonso MurielUnidad de Bioestadística Clínica. IRYCIS
4 de junio de 2012
1
• La versión básica es Stata/IC ( Intercooled Stata) maneja hasta 2 047 variables
STATA
maneja hasta 2.047 variables
• La siguiente es Stata/SE (Special Edition ) maneja hasta 32.766 variables (variables cadena y matrices más grandes)
• La versión para Multicore/multiprocesadores es Stata/MP, mucho más rápida en ordenadores conStata/MP, mucho más rápida en ordenadores con dos o mas cores
• Las observaciones están limitadas por la memoria no pudiendo exceder de 2 milllones
30/05/2012
2
Almacén de Sintaxis
Almacén de Resultados
Almacén de Variables
ComandosÚnica ventana en la que se puede escribir
Abrir LogGuardar Fichero
Traer al frente un gráfico
Editar el fichero activo
PararVentana
de Variables
Abrir Nuevo Sigue el
Abrir fichero
Abrir Ayuda ( View)
Imprimir
Nuevo fichero do
Ver el fichero
Sigue el proceso
30/05/2012
3
• dta: ficheros de datos en formato Stata.
Extensiones comunes de los ficheros
• raw: ficheros de datos ASCII/Text.
• log: output de STATA.
• do: fichero de comandos.
• gph: Stata Graphic File.
• ado: Stata “Macro” files.
30/05/2012
4
Directorio de Trabajo
• dirSt t t l fi h ti
Utilidades de fichero
– Stata muestra los ficheros que contiene ese directorio.
• pwd– Nos muestra la ruta donde está ubicado los ficherosficheros.
– G:\CursoStata
30/05/2012
5
• help + ‘nombre de comando’
Ayuda
• help summ
• Extension.dat
• Sintaxis
Abrir base datos
. use "G:\CursoStata\VAS.dta", clear
. use VAS.dta ( igual si antes hemos cd)
. sysuse cancer.dat (ejemplos de Stata)
30/05/2012
6
• use sexo edad VAS // solamente selecciona l i bl d d
Abrir base datos
las variables sexo y edad
• use VAS in 1/5 // selecciona sólo las cinco primeras observaciones, todas las variables
• use sexo edad using VAS in 1/5 // selecciona dos variables y cinco primerasselecciona dos variables y cinco primeras observaciones
Similar a los archivos spo de SPSSlog using "G:\CursoStata\vas smcl“log using G:\CursoStata\vas.smcllog using "G:\CursoStata\vas.smcl, text“translate vas.smcl to vas.txt
30/05/2012
7
Similar a la ventana de sintaxis de SPSS
Si se pone un asterisco no ejecuta la orden
Ventana do
Si se pone un asterisco no ejecuta la orden
Por tanto, es útil para colocar notas aclaratorias y comentarios.
Por ejemplo:
• *Este es el archivo do para la práctica 1
• También se pueden adjuntar comentarios al comando poniendo /* Comentario */
• sum var1 /* Calcula un resumen de var1*/
Stata necesita hacer una copia de la base
Memoria versión 11
Stata necesita hacer una copia de la base de datos que vamos a analizar en la memoria RAM de nuestro ordenadorPara ampliar la capacidad de la memoria RAM para Stata:set mem 512mset mem 512mset memory 512mclear, borra los datos en memoria
30/05/2012
8
• Los nombres de las variables puede tener entre 1 y 32 caracteres
Variables
entre 1 y 32 caracteres
• No pueden empezar por un número
• No puede haber espacios
• No utilizar signos(& % $ ∙ ” !)
• Cuidado con los acentos
• Muy sensible
Sexo SEXO sexo son variables diferentes
Tipos de variablesFormat%8.0g%8.0g%12.0g%9.0g %10.0g
Format
%#s
Strings (Cadena) son guardadas como str# (,str1, str2, str3, ..., str244).El número después de str indica la maxima extensión. Un str5 podríavaler para “varón", pero no para “masculino”.
Números son guardadas como byte, integer, long y float. Si se utilizanvalores con decimales el formato recomendado es float.
30/05/2012
10
• Archivo de datos
Crear etiquetas
• Variable
• Valores
use "G:\CursoStata\VAS.dta", clear
Etiqueta archivo datos
use G:\CursoStata\VAS.dta , clear
label data "ESTE ES EL EJEMPLO DEL VAS"
save "G:\CursoStata\VAS.dta", replacefile G:\CursoStata\VAS.dta saved
use "G:\CursoStata\VAS.dta", clear(ESTE ES EL EJEMPLO DEL VAS)
30/05/2012
12
• Variables:Nº historia clínica
Crear una nueva base de datos
– Nº historia clínica
– Sexo
– Fecha de nacimiento
– Fecha de visita
– Fumador(No, Si, EX fumador)
– AP DiabetesAP Diabetes
– AP HTA
– AP IAM
– Motivo consulta(texto libre)
Calculadora
* ( )
Utilidades
display 140+1.96*sqrt(15)
147.59105
Describir la base describe
(resumen de base datos activa)
describe using "G:\CursoStata\vas12pre.dta“ (otra base no activa)
codebook (descripción mas detallada de base datos activa)
Informe con las 4 primeras observaciones
list in 1/4
30/05/2012
13
• Signos útiles+ t * d t / di i ió ^ t i
Sintaxis
+ suma ‐ resta * producto / división ^ potencia
>mayor <menor >= <=
~ not ! not | or & and ~= distinto == igual
• Dos signos de igual == se usan para comparaciones lógicas y un solo para asignar un valor
• help operators
• [quietly] [by group:] command [varlist] [weight] [if exp] [in range] [using filename] [, options]
• Entre corchetes son opcionales
Sintaxis
Entre corchetes son opcionales
• quietly: Evita que se imprima salidas durante la ejecución.
• by group: Ejecuta el comando para grupos ordenados.
• varlist: Lista de variables sobre las que aplica el comando.
• weight: Pesos sobre los que se pondera el estadístico
• if exp: Sólo hace el comando si cumple la condición
i Sól tili l b i t• in range: Sólo utiliza las observaciones que estan en ese rango
• using filename: Fichero sobre el que se aplica el comando.
• , options: Opciones
30/05/2012
14
.INSTRUCCCIÓN VARIABLE(S), OPCIONES
summarize edad
Sintaxis
Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- edad | 107 49.61157 15.10253 4.775542 88.4566
.
SELECCIONAR
summarize edad if sexo==1 (sólo nos da la media en sexo=) 1
Variable | Obs Mean Std. Dev. Min Max ‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ edad | 22 48.57535 13.45849 20.08838 72.30259
Si la variable es cadena entre comillas
if sexo==”hombre” Un aspecto importante a tener en cuenta es que Stata considera a los valores missing (“.”) como valores máximos
• Realizar un listado de la base con los varones con fiebre menores de 50 años o mujeres > 60
Ejercicio
con fiebre menores de 50 años o mujeres > 60 con tos.(base datos tos.dta).
• Realizar un listado de los pacientes con valores de plaquetas menores que 100 o missing. R li t li t d l i tRealizar otro listado con los pacientes con valores de colesterol por encima de 300 o missing(base datos Cirrosis Biliar Primaria).
30/05/2012
16
• Desde Spss
Importar base datos a Stata(3)
• cd "G:\CursoStata“(cambia directorio trabajo)
• clear(borra la base de datos)
• usespss hipertensos120.sav(no poner nombres con espacios)
Añadir Casos
use "G:\CursoStata\vas5.dta", clear
append using "G:\CursoStata\vas7.dta"
30/05/2012
17
• Merge
Añadir Variables
• permite combinar bases de datos que tiene una variable en común.
• Requiere que las dos bases de datos estén ordenadas de manera ascendente por la variablevariable.
30/05/2012
18
merge 1:1 nhc using G:\CursoStata\vas12post.dta"
Añadir variables
reshape wide, long Este comando transforma la base de datos de una formato ancho (wide) a uno largo (long) y viceversa
reshape long inc i(id) j(year)
Transformar base datos
Data > Create or change data > Other variable- reshape long inc, i(id) j(year) reshape wide inc, i(id) j(year)
Wide
id sex inc80 inc81 inc82‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐1 0 5000 5500 60002 1 2000 2200 3300
Long
Data > Create or change data > Other variabletransformation commands > Convert data between wide and long
Long i j x_ijid year sex inc ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
1 80 0 5000 1 81 0 5500
1 82 0 6000 2 80 1 2000
2 81 1 2200 2 82 1 3300