7 Transformación
BarbWin, TESI, Proceso de datos
7.1 Unir
El siguiente capítulo cubre el conjunto de operaciones de transformación o manipulación de datos que permite Barbwin a sus usuarios. Verás que muchas de ellas responden a casos muy puntuales. Nunca las usarás todas, pero probablemente muchas de ellas ser´na utilizadas un sinfín de ocasiones. Aquí definimos cada una de ellas y su diferentes opciones. No se aborda toda la casuística, pero la mayoría de ellas tienen un fichero de ejemplo que podrás localizar en los archivos de datos que se suministran en el software.
7.1.1 Unir variables
Transformación orientada a unir varias variables (simples o múltiples) en una sola variable de forma que la variable resultante sea una variable múltiple. Un ejemplo puede ser la típica pregunta de notoriedad espontánea y notoriedad sugerida en dos preguntas distintas, se pueden unir con esta opción en una sola variable de carácter múltiple que recoja la notoriedad total. También se suele utilizar mucho para crear variables múltiples a partir de variables de tipo binario.
La unión de las variables se puede realizar hasta de cuatro formas distintas. Imaginemos dos variables de tipo múltiple que unimos:
- Acumulación de variables; caso más típico donde lo que se busca es acumular varias variables en una sola de forma que en esta no se repitan los valores, es decir recoger los valores distintos en una sola variable. Decimos que es el caso más típico, porque es la opción que se utiliza para la unión de pregunta espontánea y pregunta sugerida que quiere ser acumulada en una pregunta total;
- Exclusión de valores; implica que la variable resultante contendrá aquellos valores que se mencionaron en la primera de las variables de unión y no se ha vuelto a mencionar en las restantes.
- Coincidencia de valores; recoge los valores que fueron mencionados en todas las variables trabajadas.
- Ampliar valores. Mientras que en los demás procesos se intuye que la codificación de las variables es la misma, este caso está pensado para ficheros de datos antiguos que todavía mantienen las múltiples de 12 alternativas y crea a partir de varias variables, una sola; esta variable la codifica a partir de la primera. Si teníamos dos variables del 1 al 5, ahora el 1 de la 2ª variables pasa a ser un 6, el 2 un 7 y así sucesivamente hasta finalizar con todos los códigos de todas las variables.

Esta funcionalidad, presenta además dos opciones:
- Comprobar códigos, que permite realizar una comprobación de si utilizando la opción de acumular, todos los códigos son iguales en todas las variables a unir.
- Permitir sustituir, que permite que la variable destino exista con anterioridad y se sobre escriba.
7.1.2 Unir grupos de variables
Se pretende con esta opción agilizar la unión anterior, pudiendo de una sola vez, realizar múltiples uniones de variables. La diferencia estriba en que se debe seleccionar cada unión en una columna de la rejilla inferior.
7.1.3 Unir por etiqueta
Transformación orientada a crear una variable de tipo múltiple, recodificando a partir de la etiqueta de la variables, que ha de ser idéntica, permitiendo que los valores de la etiqueta (códigos) puedan ser diferentes.
Tenemos un ejemplo donde se observa su utilidad práctica. Imaginemos una variable que en diferentes países se ha grabado con diferentes valores.
Variable COLOR1
| Nombre código | Código |
|---|---|
| Blanco | 1 |
| Negro | 2 |
| Gris | 3 |
Variable COLOR2
| Nombre código | Código |
|---|---|
| Gris | 4 |
| Blanco | 5 |
| Negro | 6 |
Creo una tercera variable, múltiple, donde creo una tabla de códigos como esta:
Variable XCOLORSEPARADAS (vacía sin datos)
| Nombre código | Código |
|---|---|
| Blanco | 1 |
| Negro | 2 |
| Gris | 3 |
En esta imagen se puede observar que al ejecutar la unión por etiquetas, el resultado es el esperado. Une por la etiqueta que señala el color y recodifica de forma paralela la información.
También puede hacerse estando juntos los colores en una única variable. La variable original de registro es COLORJUNTAS
| Nombre código | Código |
|---|---|
| Blanco | 1 |
| Negro | 2 |
| Gris | 3 |
| Gris | 4 |
| Blanco | 5 |
| Negro | 6 |
y la variable de destino es XCOLORJUNTAS
| Nombre código | Código |
|---|---|
| Blanco | 1 |
| Negro | 2 |
| Gris | 3 |
En estas dos imágenes se puede ver el resultado final. Ponemos la imagen con los códigos y con las etiquetas para que se vea claramente la transformación.


7.2 Sobre alfanuméricas
Conjunto de transformaciones realizadas sobre una variable de tipo alfanumérica o cadena.
7.2.1 Agregar
La orden agregar variables permite unir variables de forma que el valor resultante tenga un formato fijo. Imaginemos por ejemplo que tenemos por separado el indicativo de provincia y el código de municipio por separado y queremos unirlo para forma la variable código postal. Necesitamos utilizar la orden agregar variable para:
- Que provincia siempre tuviera dos dígitos y que si faltara algún dígito lo rellenara con ceros (por ejemplo Alicante que es el tres agregaría como 03)
- Que código de municipio fuera siempre de tres cifras y rellenar con 0.
Con el archivo transformacion_sobre_alfanumerica_agregar.gbw8…

El diálogo presenta también las opciones de:
- Elegir el nombre de la variable de destino
- Elegir el tipo de la variable resultante
- Permitir la sustitución de la variable destino si ya existe
- Codificar la variable resultante (utiliza la creación de intervalos unitarios de forma transparente al usuario)
- Eliminar los códigos no existentes entre los datos
- No utilizar tamaños, que implica utilizar sólo los dígitos realmente utilizados en la cadena numérica o alfabética.
7.2.2 Desagregar
Divide una variable que contiene una cadena de valores en N variables. El usuario indicará el tamaño de cada nueva variable (sub cadena) y el nombre de la misma. Esta opción tiene mucha utilidad sobre variables cuyas cadenas incluyen sub cadenas que aportan cierta información. Realicemos la acción contraria anterior. Con el archivo transformacion_sobre_alfanumerica_desagregar.gbw8

Esta utilidad presenta las siguientes opciones:
- Codificar, si está marcada, realizará una codificación automática de las cadenas que la formen.
- Eliminar códigos no existentes.
- Marginar a la derecha, permite que la cadena alfanumérica, en lugar de ser cortada pensando que está marginada a la izquierda, corte pensando que está marginada a la derecha.
- Guardar variable primaria; Combinar variables, funcionan de manera conjunta. Si se activa esta segunda opción, se permite que las variables desagregadas puedan ser combinadas nuevamente en otra variable, pudiendo si se activa la opción “guardar variables primarias” mantener las variables desagregadas.
7.2.3 Convertir en múltiple
Transformación derivada de la existencia de un formato especial de variables de tipo múltiple en otros software (SPSS, STAR, SYSTAT…). Disponemos de dos funcionalidades:
Dada una/s variables de tipo alfanumérico, creará una/s variables de tipo múltiple dividiendo la variable alfanumérica según el valor de dígitos que se le indique. Imaginemos la cadena almacenada en una variable de tipo alfanumérica “0508124543561134”. Aplicada esta funcionalidad, se obtendrá con valor igual a 2, la siguiente información múltiple 5;8;12;45;43;56;11;34.
Dada una cadena alfanumérica binaria como esta, 01011110001, y querer crear una múltiple de ella. Para ello ponemos 0 en longitud y 1 en valor y con eso conseguiremos una múltiple codificada en nuestro ejemplo de 1 a 11 y donde en el registro se apunta el código de la posición de los 1. En nuestro caso quedaría 2;4;5;6;7;11.
Con el archivo transformacion_sobre_alfanumerica_convertir_en_multiple.gbw8 …
Con el siguiente resultado:

7.2.4 Dividir
Esta funcionalidad permite dividir el contenido estructurado de una alfanumérica en otras variables. La variable original se divide en tantas variables como sea necesario. El número de variables dependerá del número de separadores máximo en el contenido de un registro. En estas imagenes, se muestra un ejemplo de entrada de datos, diálogo y resultado.

7.2.5 Mayúsculas / Minúsculas
Convertir una cadena en mayúsculas o minúsculas.
7.2.6 Pasar etiquetas
**** FALTA COMPLETAR
7.3 Sobre numéricas
Dos funcionalidades que permite tratar las variables numéricas, convirtiendo a otros tipos.
7.3.1 Formato fijo decimales
Esta utilidad tan sólo plantea una entrada. Establecer un número fijo de decimales, que en ocasiones es muy importante para el tratamiento de la variable en una exportación. El usuario deberá definir para cada variable numérica métrica, el número de dígitos en la parte entera, el separador a utilizar y el número de dígitos en la parte decimal.
En los casos en que deba producirse redondeo, éste se realizará en los términos habituales del programa.
Con el archivo transformacion_sobre_numericas_establecer_numero_fijo_de_decimales.gbw8 …

7.3.2 Conversión fecha / hora
Permite seleccionar variables numéricas y las convierte en variables de tipo fecha o de tipo hora. La parte entera se convierta en fecha y la parte decimal se convierte en hora.
7.4 Sobre categoría
Convierte una variable de categoría en alfanumérica (utilizando el nombre del código o texto de la etiqueta) o en numérica (utilizando el peso).
Con el ejemplo tranformacion_sobre_categoría_convertir.gbw8

7.5 Sobre múltiple
Conjunto de operaciones de transformación sobre variable de tipo múltiple, orientadas a la conversión de ésta a formatos no múltiples más habituales de otras aplicaciones o de transformación de las mismas.
7.5.1 Detectar
Esta transformación está orientada a la búsqueda en el archivo de datos de variables con una raíz común y una secuencia de números de 1 a n, unidas ambas partes por un “_“. Si los localiza de forma continua en el archivo de datos, propone la creación de una variable múltiple.
El archivo de ejemplo transformacion_detectar_multiples.gbw8 contiene información que ilustra esta funcionalidad.
Podemos ver 9 variables en el archivo y el diálogo de petición abierto. Si no señalamos ninguna opción, sólo cumple el criterio la primera triada de ejemplo: Var_1,Var_2 y Var3, que son numéricas, con valores 0/1 y que tiene raíz común y serie de valors unidos por “_“.
Si clicáramos en Detectar por alias, podemos ver en el archivo de ejemplo, que son las variables A, B y C (nótese que su nombre no sigue las reglas anteriores) pero que en su alias (propiedad de variable) sí que nos econtramos el cumplimiento de eestas reglas.
por último, si clicamos en Código 1/2, permite que en lugar de ser 0/1 sea, 1/2 los valores de las variables. Este criterio puede combinarse con los dos anteriores.
Las variables que cumplen el criterio establecido, se muestran para validar en un diálogo final, sonde el usuario tiene opción de indicar que no se genere la múltiple de alguna detección errónea. El resultado final sería la creación de una variable múltiple por cada columna de detección.El nombre de la vraiable está en cabecera de la columna.

7.5.2 Dividir
Proceso de división de una múltiple en variables simples.
7.5.2.1 Por los valores
- Divide una variable múltiple en tantas variables de categoría como sea necesario, optimizando el número de ellas. No se pierde el orden de respuesta de la múltiple.

7.5.2.2 Por los valores de los códigos
- Divide una variable múltiple en tantas variables de categoría como códigos tenga la variable múltiple original. Se pierde el orden de respuesta de la múltiple.

Además, da las opciones de …
- Sustituir si ya existen las variables destino.
- Crear variables alfabéticas poniendo el texto d el etiqueta en lugar del valor.
- Nominar las variables simples en lugar de con el orden, con el nombre del código (solo cuando se usa el método de por los valores del código)
- Colocar las nuevas variables tras la original.
7.5.3 Generar
A partir de un valor o lista de valores que se repite en muchas variables, se genera una variable múltiple, cuyos datos recogen el cumplimiento de alguno de los valores que forman parte de la lista. Por ejemplo, de las siguientes variables numéricas que conforman una batería (variables a agrupar) con valores de 1 a 5, crear una variable múltiple que me indique en cuáles hay valores 4 o 5.
Por ejemplo, consideremos que el archivo transformacion_sobre_multiple_generar_multiple.gbw8 tiene 9 variables (una por maca) donde se ha dado una valoración a unos patrones con valores de 0 a 5. Por motivo de investigación, nos interesa recoger aquellas marcas que tienen valor 1 o 2. Este sería el proceso y el resultado.

Existen diferentes propiedades que se puede activar:
- Debe ser definido el valor o valores (individuales o intervalo) a agrupar en la generación de la múltiple.
- Que el nombre del código sea el texto extra que trae la variable
- Que el nombre del código sea el nombre del código a agrupar en la variable
- Que el valor del código se asigna en función del sufijo variable del conjunto de variables binarias que generan la múltiple. Debe ser identificada la raíz común para ser eliminada, y el resto se considera el valor del código.
- Se permite sustituir la variable a crear si ésta ya existe.
7.5.4 Agrupar binarias {agrbinarias#}
Utilidad que une las variables binarias en múltiples que son codificadas con el nombre de la variable.
Disponemos del conjunto de datos transformacion_sobre_multiple_agrupar_binarias.gbw8 …
Si aplicamos el agrupar binarias de la siguiente forma:

Obtenemos la nueva variable BRANDS.
Si la nomenclatura de las variables múltiples, es acorde a unas mínimas características que exige BarbWin, puedes utilizar el detectar múltipes para que este proceso sea automático.
7.5.5 Códigos combinados {codcombinado#}
Dada una variable de tipo múltiple, en ocasiones queremos saber cuáles ha sido las frecuencias de las combinaciones que se han dado. Esta orden crea esa nueva variable y la codifica de forma automática. Lo normal es conocer las frecuencias y porcentajes de los códigos, pero en ocasiones también puede ser relevante conocer esta información.
Dada la información en el archivo transformacion_sobre_multiples_codigos_combinados.gbw8 …

Podemos observar que los códigos ahora son las combinaciones que existen en los datos. Es decir, hemos categorizado cada una de las combinaciones. La nueva variable es de tipo categoría.
Los nuevos textos de los códigos, se puede escribir con el valor, o activando el check correspondiente, con los nombres de código originales. Con texto une con el + y con valores une con el ;.
7.5.6 Renombrar con raíz común
Utilidad que permite agilizar el proceso de creación de múltiples en BarbWin, fundamentalmente de bancos de datos importados como externos. Supongamos que un usuario de SPSS nos manda un banco de datos, con un dicionario de datos donde nos indica que desde var1 hasta var5, los datos conforman una variable de tipo múltiple. Como la forma en la que está estructurado el nombre de las variables no permite la detección automática de múltiples vista en este mismo capítulo, esta funcionalidad nos permite ser más eficientes.
Tiene un comportamiento diferente según se indiquela opción de Generar múltiple directamente o no. Si se hace, borra las variables originales y crea la múltiple. Si no se indica, sólo renombra y ya se podrían utilizar en la detección de múltiple.
En el caso de crear la múltiple directamente, los códigos de ésta vendrán determinados por:
- El texto de la variable
- El texto del código 1 en la variable
Aquí un ejemplo y su resultado.
Tras la ejecución de la funcionalidad, n este caso y al estar señalado el generar múltiple directamente…

Si no estuviera señalada esa opción, el resultado habría sido éste …
Dónde se puede observar como se ha creado la múltiple, y los códigos de ésta son los textos de las variables individuales. Alternativamente, estos pueden ser generados a partir de la información del código 1 de cada variable individual.
7.5.7 Convertir en alfanuméricas
Convierte la variable múltiple en una alfanumérica en la que los literales son las etiquetas de la múltiple y el separador es el de Windows.
7.5.8 Depurar múltiples
Esta funcionalidad es muy básica y no reporta más que un mensaje de finalización. Recorre todas las variables múltiples del archivo abierto y elimina los valores repetidos y/o las combinaciones de códigos especiales con valores válidos, que se considerarían inconsistentes.
7.6 Transponer
Transponer crea nuevas variables, una por cada código de las variables originales a transponer que deben poseer la misma codificación. El caso más típico suele ser el de un ranking de tres marcas, donde la primera variable, indica el código de la marca elegida en primer lugar; la segunda variable, indica el código de la segunda marca elegida y en extensión, la tercera variable.

Cada una de estas tres variables, tiene la misma codificación …

Pues bien transponer indica generar una variable por cada código de estas variables origianles, es decir, en nuestro caso una variable nueva por marca, donde la primera variable indica si la marca fue elegida en primer (1), segundo (2) o tercer (3) lugar. La segunda variable, indica si la segunda marca, fue elegida en primer lugar, segundo o tercera y por extensión la tercera marca. Para ello, debemos completar la información siguiente en los dos diálogos que se indican a continuación. El segundo aparace al hacer clic al primero.


Con el siguiente resultado, donde podemos observar las tres nuevas variables generadas.

Existen diferentes opciones para etiquetar los códigos y textos de las nuevas variables.
7.7 Desplazar
La orden desplazar variables, permite que la información de una o más variables sea desplazada a lo largo de k registros. Como es evidente, los k primeros registros quedan filtrados si es adelante o los k últimos quedan filtrados si es hacia atrás.
7.8 Proporcionalizar
Dadas unas variables numéricas proporciona (calcula el porcentaje o el absoluto) en base a la constante o variable introducida en el diálogo. De esta forma se solucionan los problemas de “no suma 100” o “me han dicho 70 trabajadores y luego los totales parciales por departamento sumados dan 68 en lugar de 70”. Este diálogo puede ser completado con una condición sobre la que ejecutar su proceso.
La base o proporción puede ser una constante (100 por ejemplo) o puede ser también el nombre de una variable. En este caso la base sería cambiante en cada registro, y la proporción se establece sobre el valor de la variable en cada registro.
7.9 Anidar
Esta opción permite crear una nueva variable en la que los códigos de las variables originales se anidan para formar nuevas categorías. Los acentos circunflejos marcan cambio de línea en cabecera de forma que se formarán tantos niveles de visualización como variables escojamos.
7.10 Binarizar
Transforma las variables seleccionadas a variables binarias (0/1). Se puede establecer los valores de control (0 y 1) y modificar por cualquier otro que fuera necesario. La nueva variable toma como nombre la original y el sufijo_n y en los textos extra copia el nombre del código de origen.
Las diferentes opciones son:
- Permitir sustituir. Si los nombres de variable nuevos existen ya, se sobreescribe la variable;
- Colocar detrás de la original;
- Nombre de variables nuevas a partir del valor de los códigos;
- Nombre de variables nuevas a partir del texto de los códigos;
- Completar a la decena, usa la opción nombre de variables nuevas a partir del valor de los códigos pero ampliando hasta la decena superior al número de códigos.
7.11 Dicotomizar
Dada una variable de categoría, múltiple, alfanumérica o numérica y siempre codificada, esta orden permite generar nuevas variables (tantas como códigos originales) donde los códigos son:
- 1 si pertenece al grupo de código que la origina;
- 0 si no pertenece al grupo que la origina.
El texto extra de la variable estará formado por el texto del código que la origina, mientras que los textos de los códigos serán el original para el 1 y “Resto” para el 0 o la negación del original (según opción)
Las diferentes opciones son:
- Permitir sustituir. Si los nombres de variable nuevos existen ya, se sobreescribe la variable;
- Negar el código Sí en el código No;
- Colocar detrás de la original;
- Nombre de variables nuevas a partir del valor de los códigos;
- Nombre de variables nuevas a partir del texto de los códigos;
7.12 Distribución
**** FALTA COMPLETAR
7.13 Jerarquizar
Esta funcionalidad permite analizar la información que se ha almacenado en campos de respuesta que responden a ordenaciones. Todos sabemos que el entrevistado en muchas ocasiones no sabe discernir entre 2 segundos puestos u ordena incorrectamente repitiendo algún orden, etc. Esta opción soluciona este problema mediante:
- Asignación de rangos correctos sin repetición;
- Asignación de rangos con repetición (si hay empates del usuario los respeta);
- Asignación de rangos medios (asigna a los empates rangos medios);
- Asignación de rangos de Quenouille. La asignación de Quenouille actúa otorgando rangos medios pero con valor central 0. Si el número de variables a asignar rangos es par, existirán dos = en la distribución de rangos. La escala irá desde –n a +n, pasando por el 0. Es una asignación muy típica del análisis conjunto.
Además, esta operación permite:
- Invertir el orden del rango;
- Trabajar sobre las mismas variables o variables nuevas;
- Incluir los valores especiales (no contesta), aleatorizado;
- Ordenar cantidades.
Con dos situaciones a elegir:
- En caso de empate, en lugar de seguir un orden aleatorio seguir el orden de las variables, es decir priorizar la variable que está en primer lugar.
- Caso de que las variables a jerarquizar no sean rangos (orden) sino que sean cantidades, nos permite añadir las variables que contienen la cantidad ya ordenadas de mayor a menor o de menor a mayor, según elección.

7.14 Duplicados
Elimina los valores duplicados (coincidentes en todas las variables seañladas).
Quedaría tras su aplicación, solo las primeras apariciones de la combinación de los valores.