R parte 3
Vamos ahora con los porcentajes.
Aunque cuando empecé a estudiar las TICs (antes informática) en un
tiempo donde la programación orientada a objetos era una curiosidad,
no me gusta repetir código y aunque no con métodos y polimorfismo,
por medio de funciones y subrutinas tratábamos de optimizar recursos
en la era de los procesadores INTEL 8086/8088 donde todo era
precario.
Para esta entrega tratando de evitar los ciclos para intercalar, le
aplicamos ingeniería al asunto e hicimos nuestra primer función en
R la cual le llamamos intercalar().
Antes de eso hablaremos de la función svyratio() que es para
realizar operaciones: obtener razones o en si divisiones. Vamos al
ejemplo:
Para sacar los porcentajes es necesario usar otra función del
paquete survey y como lo
menciono arriba es la svyratio(). Para
el cálculo del porcentaje de mujeres embarazadas de 15 a
49 años que deseaban embarazarse (cel1_2)
es necesario dividirlo por el
subuniverso que son las mujeres embarazadas de 15 a 49 años
(cel1_1) como se observa en la
imagen.
Entonces hacemos la siguiente instrucción.
svyratio(~cel1_2,denominator=~cel1_1,DisenoE)
El resultado es un arreglo de svyratio…
Para multiplicarlo por 100 necesitamos accesar a dicho elemento.
svyratio(~cel1_2,denominator=~cel1_1,DisenoE)[[1]]*100
Para hacer los cortes por grupo de edad es algo similar a svyby()
con svytotal(), solo que ahora es svyby() con
svyratio(). Ejemplifico con los porcentajes por grupos de
edad.
Se puede advertir que ahora accesamos el elemento 2, de este
dataframe (resultado de svyby), haciéndolo con su
índice 2, [[2]].
Y bueno si quisiéramos arrancar como lo hicimos con los cuadros expandido y muestral lo podemos hacer con la misma lógica, sin embargo todo se puede y debemos mejorarlo, entonces para no repetir los ciclos de intercalación, mejor creamos una función.
Y bueno si quisiéramos arrancar como lo hicimos con los cuadros expandido y muestral lo podemos hacer con la misma lógica, sin embargo todo se puede y debemos mejorarlo, entonces para no repetir los ciclos de intercalación, mejor creamos una función.
Por ahora esta medio “macucha” - chafa – luego si hay tiempo la
mejoraremos.Para no entrar en detalles, la abstracción es: se mandan
dos arreglos que se quieran intercalar y la posición donde se desea
que se intercalen los elementos del segundo arreglo, con la condición
de que para que funcione debe ser de iguales dimensiones o
factorizados según la posición de intercalación, dicho en otras
palabras por ejemplo (dimarreglo2 =6 a dim arreglo1=12 posición a
intercalar 3, dimarreglo2=6 a dimarreglo1=18 posición a intercalar
4, dimarreglo1=6 a dimarreglo2=24 posición a intercalar 5) – que
por cierto ya se me ocurrió como simplificar la función para la
versión 2. Aquí el código:
Para este cuadro la primera columna es la cifra del cuadro expandido,
por lo que creo otra variable llamada:
FE DE ERRATAS: Para
este ejemplo el arreglo resultante le llamé c, pero c
es una palabra reservada en R, al tener algunas fallas en el código
cambié el nombre a este identificador.
ColT <- col1
Entonces les muestro el código de la segunda columna que son
porcentajes.
Misma secuencia para la columna2, una vez terminados los cálculos de
las 2 columnas se crea el dataframe con los arreglos ColT, col1 y
col2.
cuadro5_1 <- data.frame(ColT, col2, col3)
Y podemos revisar las cifras contra el cuadro publicado.
Y pues hasta aquí lo que con REDATAM se hace sin mayores
dificultades y con apoyos de asistentes gráficos inclusive, las
siguientes partes serán ahora si de las precisiones estadísticas,
razón por la cual nos hemos movido a este lenguaje.
Para terminar no tengo idea porque en la columna 2 me salen 2
decimales y en la columna 1 solamente 1, habrá que investigar.
Seguiremos con las entregas subsecuentes.
Miguel Araujo
Comentarios
Publicar un comentario