Stata por defecto aplicará todas las órdenes a todos los
casos de la base de datos. Sin embargo, a menudo nos interesará trabajar solo
con una sub muestra de ellos, ya sea por razones substantivas o de conveniencia
para realizar cálculos y transformaciones. Existen diversas instrucciones para
precisar a qué parte de los datos aplicar cada orden:
if. Es la
instrucción principal para definir subgrupos. Usando if tras un comando aplicaremos
la orden anterior sólo al subgrupo definido por la expresión lógica que
precisemos: se realizará la operación sólo para aquellos casos que cumplan la
condición definida por la expresión lógica. Como if trabaja con operadores
lógicos, se trata de un mecanismo muy potente que nos permite definir casi
cualquier tipo de subgrupo que podamos necesitar. Así podemos hacer referencia
a valores de la misma variable a la que estemos aplicando la orden u otras
variables de la base de datos. Podemos combinar condiciones de diversos modos. Ej. list make mpg if mpg>25
in. Si en lugar
de definir una expresión lógica queremos aplicar la orden a un grupo de
observaciones definido por su número de posición en la base de datos, usaremos
la expresión in en lugar de if. Para indicar entre que observaciones queremos
aplicar la orden usaremos los números de orden separados por una barra /. Ej. list price in 20/l
by. Sirve, no
para filtrar los casos como if, sino para segmentar la ejecución de la orden y
hacerlo por los grupos definidos por la variable que acompañe a by. Ordena la base en sentido ascendente. El operador
by es uno de los pocos elementos en Stata que rompe con la estructura básica de
la sintaxis, puesto que se escribe delante del comando y no después como el
resto. Así, escribiremos by variable [variable2]: comando. Ej. by foreign: summarize rep78
bysort. Permite ejecutar una misma orden para diferentes categorías
de una o más variables especificadas al tiempo que ordena los datos para poder
realizarlo.Ej. bysort rep78: tabulate foreign
Operadores lógicos
& y
| o
! no
~ no
> mayor que
< menor que
>= mayor o igual
<= menor o igual que
== igual
!= no igual
~= no igual
! no
~ no
> mayor que
< menor que
>= mayor o igual
<= menor o igual que
== igual
!= no igual
~= no igual
Diferencia entre = y
==
Un error frecuente en Stata es confundir el uso del operador
aritmético = con el lógico ==. Así, cuando queramos expresar una igualdad
lógica deberemos usar el doble signo de igual (==) mientras que el simple (=)
lo reservamos para operaciones aritméticas.
Muy buena explicación.
ResponderEliminarbuenísimo! gracias :)
ResponderEliminar