Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Resumen del programa estadistico, Resúmenes de Teología

resumen de las principales funcciones y comandos

Tipo: Resúmenes

2019/2020

Subido el 06/12/2021

roxana-acosta-4
roxana-acosta-4 🇵🇪

1 documento

1 / 20

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Resumen STATA
1. Introducción
Comandos para empezar
- cd “ruta” → cambia el directorio por defecto
- dir → imprime el contenido del directorio
- dir *.do → muestra solo el contenido del tipo .do
- display → imprime lo que le digas en zona de resultados
- clear → borra todo lo de la memoria
- help comando → muestra cuadro con información sobre el comando
Sintaxis [bys: ] comando [varlist] [in] [if] [pesos] [using] [,opciones]
- summarize → muestra tabla de estadísticos (obs, mean, stdev, min, max) por
variable
[varlist]
- sum var1 var2 → qué columnas?
- sum var1-var2 → desde la var1 hasta la var2 según orden
- sum a* variables que empiezan con a (*→ n caracteres) (?→ solo un
caracter)
[in]
- sum ing in 3/10 → las observaciones de la fila 3 a la 10
[if]
- sum ing if horas>40 → las observaciones que cumplen con la condición
- sum ing if horas>40 & sexo == “mujer” → dos condiciones
- sum ing if (horas>40 & horas<50) & (dpto=”Lima” | dpto=”Callao) → las
condiciones funcionan con & y |
[bys: ]
- bys sexo: sum ing → agrupa segun variable que le des
- bys sexo sector: Masc-Form, Masc-Inf, Fem-Form, Fem-Inf
- las variables tienen que ser categóricas, si pongo ingreso, me darían mil filas
porque todos los ingresos son diferentes
[,opciones]
- sum ing, detal → detail es la opción para dar más estadísticos, se pone una
sola coma para todas las opciones que quieras. me da percentiles
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Vista previa parcial del texto

¡Descarga Resumen del programa estadistico y más Resúmenes en PDF de Teología solo en Docsity!

1. Introducción Comandos para empezar

  • cd “ruta” → cambia el directorio por defecto
  • dir → imprime el contenido del directorio
  • dir *.do → muestra solo el contenido del tipo .do
  • display → imprime lo que le digas en zona de resultados
  • clear → borra todo lo de la memoria
  • help comando → muestra cuadro con información sobre el comando Sintaxis [bys: ] comando [varlist] [in] [if] [pesos] [using] [,opciones]
  • summarize → muestra tabla de estadísticos (obs, mean, stdev, min, max) por variable [varlist]
  • sum var1 var2 → qué columnas?
  • sum var1-var2 → desde la var1 hasta la var2 según orden
  • sum a* → variables que empiezan con a (*→ n caracteres) (?→ solo un caracter) [in]
  • sum ing in 3/10 → las observaciones de la fila 3 a la 10 [if]
  • sum ing if horas>40 → las observaciones que cumplen con la condición
  • sum ing if horas>40 & sexo == “mujer” → dos condiciones
  • sum ing if (horas>40 & horas<50) & (dpto=”Lima” | dpto=”Callao) → las condiciones funcionan con & y | [bys: ]
  • bys sexo: sum ing → agrupa segun variable que le des
  • bys sexo sector: Masc-Form, Masc-Inf, Fem-Form, Fem-Inf
  • las variables tienen que ser categóricas, si pongo ingreso, me darían mil filas porque todos los ingresos son diferentes [,opciones]
  • sum ing, detal → detail es la opción para dar más estadísticos, se pone una sola coma para todas las opciones que quieras. me da percentiles
  • r(mean) → me da el promedio calculado por el último summarize que haya hecho
  • sum horas if ing>r(mean) → lo puedo usar para hacer referencia
  • hago otro summarize
  • r(mean) → este hará referencia al promedio del último sum que hice
  • return list → imprime los valores que guardas en este momento (generados por el último sum) Base de datos
  • set obs → crear base de datos
  • use “nombre del archivo”, clear → carga base de datos y borra la anterior
  • desc → cuadro con los datos más importantes de la bd
  • bro → abre el editor de la bd y no permite editar
  • edit → abre el editor de la bd y si permite editar
  • bro id ing* → abre el editor solo para esas variables
  • desc using “nombre del archivo” → cuadro con los datos más importantes pero sin cargar la bd
  • si quiero cargar solo algunas variables de un archivo→ use var1 var2 if condición using “nombre del archivo”, clear
  • drop var1 → elimina la variable de lo que haya cargado
  • drop in 1/10 → elimina las observaciones de la 1 a la 10
  • keep if condición → filtra las observaciones y se queda con esas
  • lookfor var1 → acota desc a variables que tengan esa palabra
  • count → calcula el número de obs que cumplen con las condiciones
  • save caracol, replace → guarda la bd que tengas en el environment con ese nombre
  • sysuse dir, all → muestra todas las bd guardadas
  • sort edad → ordena de forma ascendente
  • gsort - edad → ordena de forma descendente
  • list edad in 99/`r(N)’ → hace referencia a la última observación Juntar bases de datos
  • base master → base cargada en la memoria
  • base using → base que quiero agregar Append (pega debajo - agrega obs) using y master mismas variables , dif obs
  • gen nombre = contenido
  • gen ejem1 =. → textual vacía
  • gen ejem1 = “” → numérica vacía
  • gen float ejem3 = ln(x) : float 6 dec, double 12 dec
  • set type double, perm → cambia el modo numerico por defecto a double
  • gen ejem1 = var>algo → dummy de T o F
  • scalar nombre = valor → escalar (es un objeto, para verlo scalar list)
  • replace nombre var = nuevo contenido → reemplazo el contenido de la variable, debe mantener el tipo de contenido (numerico, textual, etc)
  • rnormal() → rnorm
  • runiform()
  • rename nombre antiguo nombre nuevo → renombra la variable
  • gen ejem1 = contenido in filas → crea una variable para ciertas filas
  • gen ejem1 = contenido if condicion → crea variable para obs que cumplan condicion, es decir, donde la condición sea T
  • ej* gen ejem1 = (edad>10) if (sexo == 1) *condición en =exp → genera 1 o 0 *condición en [if] → genera =exp o missing si quiero que uno que sea miss, siga siendo miss, poner var !=. en el if
  • inlist (variable, 1,2) → genera 1 para las obs de esa variable que sean 1 y 2
  • inrange (variable, desde, hasta) → genera 1 para las obs de esa variable que estén en el rango
  • !inrange (variable, desde, hasta) → genera 1 para las obs de esa variable que NO estén en el rango
  • missing es mayor que todo (infinito)
  • si quiero que las obs que tengan missing, salga missing y no 0 → ej* ejem1 = ( edad >10) if (sexo == 1 & edad !=. ) - yo quiero que las mujeres que no tienen registro, salga missing - pido que si la edad es diferente a missing salga 1 - ahora solo entran a la primera condición las que tienen registro de edad - var !=. var <. !missing(var)
  • gen → [bys] sum() _n _N inrange() \ substr, real, floor, runiform, invnormal, round, ln
  • egen → [bys] total() count() mean() \ group, std, concat, rowtotal, rowmean, row.. *egen no permite pesos *ENAHO es base con pesos, si me piden promedio de alguna variable, no puedo hacer egen..mean()
  • gen nombre1 = horas1 + horas2 → si una de esas tiene miss, suma es miss replace nombre1 = rowtotal() → no, nombre1 fue creada con gen y rowtotal es egen
  • egen nombre2 = rowtotal(horas1 horas2), m → suma por fila las variables q pongas ,m → miss + miss = miss
  • bys var: gen nobs = _Nobs totales segun el bys
  • bys var: gen idem= _nobs acumuladas segun el bys
  • bys var: egen tot = total(horas)numero total de horas segun el bys
  • bys var: gen acum = sum(horas)horas acumuladas segun el bys
  • cree una variable que tenga la edad del jefe del hogar para toda la familia *esto crea una variable que tenga solo la edad del jefe en la fila q le corresponde bys conglome vivienda hogar: gen edad_jefe = edad if(persona==jefe) *esto hace que copie y pegue la edad del jefe en toda su familia bys conglome vivienda hogar: egen hh_edad = max(edad_jefe)
  • cree una variable que tenga la cantidad de hijos para toda la familia *esto crea una variable que me dice si es hijo o no bys conglome vivienda hogar: gen es_hijo = persona==hijo *esto hace que sume la cantidad de hijos que hay por familia y se lo pone a todos bys conglome vivienda hogar: egen hh_hijos = total(es_hijo)
  • gsort sexo sector horas
  • bys sexo sector: gen acum = sum(horas) → horas acumuladas segun sexo(FoM) y sector(formal, inf), pero del que trabaja menos horas a mas
  • si tengo una bd por personas, y quiero quedarme por hogar
  • collapse (mean) var …, by(año mes vivienda hogar)
  • tostring var, replace → transforma de negro(numerica) a rojo(textual)
  • Juntar:
  • egen nombre = concat ( var1 var2), punct(“ “) → junta las variables separadas por el ()
  • ej* egen gato = concat(sexo dpto), punct(“ de “) → 0 de amazonas, porque sexo era azul, sale un texto que en vdd es numero ej** egen gato = concat(sexo dpto), punct(“ de “) decode → transforma de azul a rojo
  • gen = substr (“var”, desde, cuantos)
  • [gen] real (string) → transforma una var que la hemos creado con concat o lo q sea y la transforma a una numérica (es como destring) Percentiles pctile : da los valores de cortes, si #=4, 3 valores de cortes
  • pctile nombre = var [pw=fac], nq(#) → var=variable continua sobre la que se calcula los percentiles xtile : te da el grupo en el que se encuentra cada observación, #=número de grupos
  • xtile nombre = var [pw=fac], nq(#) → var=variable continua sobre la que se calcula los percentiles
  • si pongo pesos [], estoy trabajando sobre la población 3. Estadística descriptiva Ponderadores
  • Muestreo aleatorio simple → misma probabilidad de selección
  • Muestreo aleatorio complejo → probabilidad difiere, una observación puede representar a una grupo
  • Los ponderadores reflejan esos pesos
  • Sintaxis → [ tipo = varname ] generalmente varname=fac
  • importante ver si necesito multiplicar los pesos por el nro de personas sin pesos → por observacion con pesos → por hogar

con pesos * mieperho → por persona

  • [ pw = fac] → inversa de la probabilidad
  • [ fw = round(fac)] → obs duplicadas. necesita números enteros en el fac
  • [ aw = fac] → inv de la varianza. NO INTERPRETAR
  • [ iw = fac] → indica importancia
  • *ver que tipo de pesos permite cada función *factor07 : cuando esta por hogares, para convertir en peruanos Cuadros a) Tablas de frecuencia tab var [iw=fac], cell row col nofreq (porcentajes)
  • nofreq → oculta las frecuencias absolutas de la tabla
  • cell → 100% solo en la esquina de abajo derecha
  • row → 100% derecha, por cada fila
  • col → 100% abajo, por cada columna tab var [iw=fac], m nolabel plot gen(hola)
  • ,m → incluye un missing como categoría
  • nolabel → quita las etiquetas de la tabla
  • plot → genera un pequeño histograma
  • gen(hola) → crea dummy por categoría, donde va 1 es que pertenece a ese nivel de la variable que haya puesto

b) Tablas de estadísticos

  • sum var [aw=fac] ,d → tabla rigida
  • sum var [aw=fac] → no puedo definir qué estadísticos quiero mostrar ● Muchas variables, muchos estadísticos, pocos grupos/poblaciones (tabstat)- ● si quiero hallar el estadistico DE muchas variables tabstat var1 var2 if () [aw=fac], stat(p50) by(var) nototal col(v) save
  • var1 var2→ variables que van en las columnas, a esas se les aplica el stat
  • stat()→ ahí va el estadístico que quieres hallar para cada variable por cada by
  • by(var) → esa variable va en cada fila, me piden para cada dom
  • nototal→ no sale la fila de totales

collapse (estad1) var1 var

  • quiero calcular un mismo estad para varias variables
  • si quiero crear una bd con collapse, pero no quiero perder la anterior porque ya había creado variables, etc preserve collapse save ”nombre”, replace restore ● Reshape - transforma bd
  • Filas en Columnas (wide) base original → dpto sexo mean p base destino → dpto mean_mujer p50_50 mean_hombre p50_hombre reshape wide mean p50 , i( dpto ) j( sexo )
  • j() → variable que desaparece (la que queremos combinar)
  • i() → variable que identifica obs, la que queda igual
  • varlist → variables que quedan y se combinan con la que j()
  • EJ* si tengo la variable sexo, pero yo quiero sacar la ocupacion de mujeres y hombres por separado, uso este reshape
  • Columnas en Filas (long) base original → dpto sexo caracolprom caracolp base destino → dpto sexo oruga(prom y p50) caracol(contiene valores de prom y p50) reshape long caracol , i(dpto sexo) j(oruga)
  • j() → variable que aparece (el contenido de esta variable será lo que le sigue a la raíz prefijo)
  • i () → variable que identifica obs, quedan
  • varlist → raíz prefijo

Gráficos a) Histogramas box plots - variables numéricas hist var [if] [in] [fw=round(fac)] [ , by() percent kdensity normal discrete ]

  • by() → separa el gráfico en paneles según esa variable
  • by( , cols(2) yr) → el graf en dos columnas, escala de y indep
  • percent → cambia la unidad del eje vertical de densidad a percent
  • kdensity → dibuja la línea con la función de densidad
  • normal → dibuja la línea de la distribución
  • discrete → para variables discretas, cada barrita de ancho = 1
  • width (#) → cambia el ancho de la barrita kdensity var [if] [in] [iw aw fw] [ , gen (newvarX newvarD) n() ]
  • grafica la línea de densidad
  • guarda los pares ordenados que grafican densidad en las variables newvarx y d graph (h)box var1 var2 [if] [in] [pw aw fw] [ , over() over() by() noout ]
  • de acuerdo al número de variables es el número de caja (cada caja dif color)
  • by() → separa el gráfico en paneles según esa variable
  • over() → caja diferente (mismo color) para cada grupo de esa variable (una sola), pueden haber varios over
  • noout → quita los valores atípicos de la caja b) Barras - variables categóricas graph (h)bar (stats)var [if] [in] [pw aw fw] [ , over() by() asyvars stack perc]
  • by() → separa el gráfico en paneles según esa variable
  • over() → barra diferente para cada grupo de esa variable. pueden haber varios, las acomodo según lo necesite
  • asyvar → toma el primer over para que esté de leyenda
  • stack → coloca una barra encima de la otra según leyenda
  • perc → fija la barra al 100% c) Scatter - dos variables PPT 3, 32 Y 34*
  • title, xtitle, ytitle → títulos del gráfico
  • xline, yline → agrega líneas horizontal y vertical
  • text → agrega un texto en el gráfico
  • xlabel, ylabel → (comienza en (de cuanto en cuanto) termina en )
  • xsize, ysize → tamaño del gráfico
  • ylabel( , angle(anglestyle)) → escala de y horiz
  • legend → de como estaba, pongo el orden que quiero y el nombre row(1) → quiero toda la leyenda en una sola fila 4. Estadística inferencial Módulo de encuestas svyset [psu] [pw=fac] , strata(varname)
  • psu → variable que se escogió aleatoriamente desde un comienzo
  • strata() → variable que indica los estratos Comandos con svy
  • svy: mean var
  • svy: total var
  • svy: ratio var
  • svy: proportion var *quiero la media del ingxh de las mujeres
  • *la proporción de niños de 3 años que están matriculados, según área svy, subpop ( if edad=3 ) : proportion matriculados(dicotómica), over (aqui van las q se usan en ambos lados de la igualdad)
  • svy, subpop ( if sexo == 1 ) : mean ingxh
  • svy: mean ingxh, over ( sexo ) , level ( 99 ) Pruebas de hipótesis
  • Probar que el promedio del ingxh1 = 5.
  1. Programar el svyset svyset conglome [pw=fac], strata (estrato) *si me piden algo por hogar: [pw=factor] si me piden por personas: [pw=(pesos=factormieperho)]
  2. Calcular con svy lo que me piden en el supuesto (promedio de ingxh). *h0: prom_ingxh1 - 5.8 = 0 svy: mean ingxh *aquí se calcula lo que será necesario usar al momento de plantear el supuesto *puedo usar , over (var1 var2) *si me dicen que el análisis es para cierto tipo de población → subpop( if ) *si me dicen que el análisis es según tal cosa → over() *si me piden comparar por ej ing mujer e ing hombre, lo hago over(sexo), porque mujer y hombre ya esta como 1 y 0 *si no tengo la variable así, ej: indep y dep, creo una var extra que me indique si es indep o dep con 1 y 0, luego esa va en el over()
  3. Usar lincom para hallar los estadísticos lincom ingxh1 - 5.8, level (95) *el nombre de la variable será de acuerdo a cuando hago el svy me sale en la primera fila Acepto h0 si:
  • | t | < 1.
  • p-value > 0.05 (alpha)
  • 0 está en el intervalo de confianza ****EJ:** quiero saber si la brecha de ingreso entre los que hablan una lengua y otra se mantiene en 2015 y 2014 svy: mean ling , over ( lengua año ) lincom ( [email protected]#2015.ano - ) - (dhsja - jds )

(8 = 5 "tecnológica") (10 = 6 "universitaria") /// (11 = 7 "postgrado"), gen(neduc) replace neduc = 4 if p301a == 8 & (tipo==3 | inrange(p301a1,110000,200000)) collapse (count) p301a [pw=fac], by(gedad neduc gtrab) // 2 distribución bys gedad neduc: egen den = total(p301a) gen _ = 100 * p301a / den drop p301a den // 2 exportar reshape wide _, i(gedad neduc) j(gtrab) string export excel using "rpta.xlsx", sheetreplace firstrow(variables)

  • En edad antes jubilación, pedagógica más formal que tecnológica // 1 funciona
  • Armen una base de datos de personas de 18 a 64 añ os con educació n universitaria o tecnol ó gica (no pedagó gica), sean egresados (p301a), estudiantes (p303) o con estudios incompletos. Para excluir a las personas con educació n superior pedagó gica vean NOTA 2. Creen las variables que requieran para responder las siguientes preguntas: (2 puntos) Independientemente para egresados y para estudiantes ¿cuá l es el ratio entre el nú mero de individuos observados con educaci ó n universitaria respecto al nú mero de individuos observados con educaci ón té cnica? Calculen con una sola lí nea de comando y respondan. Use educ if inrange(p208a,18,64) & inrange(p301a,7,10), clear // 1.5 directas merge m:1 p301b1 using ayuda, nogen keep(1 3) drop if tipo==3 | inrange(p301a1,110000,200000) gen estado = cond(inlist(p301a,8,10),1,cond(p303==1,3,2)) // 2. nuevas gen universitaria = (p301a > 8 | tipo == 1) gen tecnologica = (universitaria == 0) svyset conglome [pw = fac], strata(estrato) ratio universitaria/tecnologica if estado != 2, over(estado)
  • (2 puntos) Con 99% de confianza, ¿cuá l es el ratio entre el n ú mero de trabajadores peruanos (ocu500) que cuentan con educació n superior universitaria completa respecto al nú mero de trabajadores que cuentan con educaci ó n superior té cnica completa? svy, subpop(if ocu500 == 1 & estado == 1): ratio universitaria/tecnologica, level(99)
  • Revise la pregunta 3 del cuestionario CED-01B 2004.pdf y la pregunta 2 del cuestionario CED-ENAHO 01B- 2019.pdf****. A partir de las variables p3_ y p3a_ en** pregunta1- 2004 y p2_ en* pregunta2- 2004 , cree un grafico que muestre la predominancia de los problemas del país según la opinión de los mayores de 18 a ños para los añ os 2004 y 2019. Tome únicamente el orden de prioridad 1. use pregunta1-2019, clear rename famiegob factor append using pregunta1- 2004 // 1 gen problema = "corrupción" if p2_2_01 == 1 | p3_12 == 1 | p3a_12 == 1 // 3 replace problema = "credibilidad gobierno" if p2_2_02 == 1 | p3_22 == 1 | p3_32 == 1 | p3a_22 == 1 | p3a_32 == 1 // 1 replace problema = "falta empleo" if p2_2_03 == 1 | p3_42 == 1 | p3a_42 == 1 replace problema = "delincuencia" if p2_2_15 == 1 | p3_52 == 1 | p3a_52 == 1 replace problema = "violencia en hogares" if p2_2_05 == 1 | p3_82 == 1 | p3a_82 == 1 replace problema = "salud pública" if p2_2_06 == 1 | p3_92 == 1 | p3a_92 == 1 replace problema = "seguridad social" if p2_2_07 == 1 | p3_102 == 1 | p3a_102 == 1 replace problema = "educación estatal" if p2_2_08 == 1 | p3_112 == 1 | p3a_112 == 1 replace problema = "bajos sueldos" if p2_2_10 == 1 | p3_122 == 1 | p3a_122 == 1 replace problema = "pobreza" if p2_2_11 == 1 | p3_132 == 1 | p3a_132 == 1 replace problema = "agricultura" if p2_2_13 == 1 | p3_142 == 1 replace problema = "otro / ninguno" if problema == ""

use educ_2019, clear

  • append using educ_2020 //
  • destring anio, replace //.
  • gen urbano = (estrato<=5) //.
  • gen estudia = (p306==1) // - //. svyset conglome [pw=fac], strata(estrato)
  • svy, subpop(if p208a==3 & urbano==0): proportion estudia, over(anio) //
    • 1 2019 | .8107025 .0332996 .7366174.
    • 1 2020 | .6703023 .0391301 .589485.
  • *(1) | (-.1404002) - .2409856 - .0398149 intervalo de confianza //.
  • svy, subpop(if inlist(p208a,16,17)): proportion estudia, over(anio urbano) //
    • 0 2019 0 | .3181704 .0244407 .2722685.
    • 0 2019 1 | .3308932 .023 7516 .2860718.
    • 0 2020 0 | .3761793 .0233362 .3316296.
    • 0 2020 1 | .4549758 .0226819 .410966.

lincom ([email protected]#1.urbano - [email protected]#1.urbano) - /// ([email protected]#0.urbano - [email protected]#0.urbano), level(90) *(1) | 1.38 0.167 - .0125739 .1447214 0.167>0.1 NO. use educ_2020 if p306==1, clear //. recode estrato (min/5=1 "urbano") (6/max=0 "rural"), gen(area) recode p308a (1=1 "inicial") (2=2 "primaria") (3=3 "secundaria") (4/max=4 "superior"), gen(neduc) // gen remoto = (p307==1) //. table neduc area [pw=fac], c(mean remoto) // keep if remoto==1 //. gen medio= cond(p307a3==3,4,cond(p307a1==1,3,cond(p307a2==2,2,1))) // lab var medio "Medio de clase remota" //1. lab def medio 1 "ninguno" 2 "radio" 3 "tv" 4 "plataforma" lab val medio medio graph bar (sum)remoto [pw=fac], over(medio) over(neduc) over(area) ///2. stack percent ytitle("% de estudiantes") legend(row(1)) //scale(0.85) *help graph legend.