OpenRefine permite el uso de filtros sobre campos particulares, función que puede ser muy útil para la limpieza de datos. Veremos un ejemplo a continuación.
Ubique el campo "specificEpithet"
y cree una faceta de texto (haga click en "la ▼ azul > Facetas > Faceta de texto"). Luego vaya nuevamente a menu:la ▼ azul[] y cree un filtro de texto (“Filtro de texto”). Sobre el menú de la izquierda se abrirá una ventana como la que se muestra en la Figura 28.
En el cuadro de texto puede escribir el valor sobre el cual desea filtrar.
Por ejemplo, pruebe escribiendo “sp.”.
En el menú de la izquierda, dentro de la faceta se mostrará el valor que usted buscó, y en la pantalla principal se mostrarán los registros asociados que tienen dicho valor en el campo "specificEpithet"
(Figura 29).
Note que verá dos valores, uno en letras minúsculas y otro en letras mayúsculas. Si sólo desea ver los valores escritos con minúscula, en el filtro debe seleccionar “Distingue mayúsculas y minúsculas”, o puede seleccionar “sp.” directamente sobre la faceta de "specificEpithet"
.
Corrija los valores “sp.” y “SP.” utilizando la función “editar” sobre los valores en la faceta (el valor correcto debería ser nulo).
Cierre el filtro y la faceta de "specificEpithet"
.
Abra una faceta de texto y un filtro para el campo "scientificName"
. En el filtro, busque el valor “sp.”. Verá entonces varios valores para ese campo que incluyen “sp.”, como se muestra en la Figura 30.
Debe corregir esos nombres, sacando “sp.” y dejando solamente el nombre del género. Para no tener que hacerlo uno por uno, puede seguir los siguientes pasos.
Haga click sobre menu:la ▼ azul en {scientificName}[Editar celdas > Transformar…] (Figura 31).
Se abrirá entonces una ventana como la mostrada en la (Figura 32). En el cuadro de texto, pegue la siguiente expresión:
value.replace(" sp.", "")
Dicha expresión tiene la función de reemplazar lo que está entre las primeras comillas por aquello que está entre las segundas comillas, es decir, la porción " sp."
([espacio]sp.
) por ""
(nada).
En la Figura 32 puede observar cómo se vería el resultado del cambio en la pestaña “Vista previa”.
Oprima “Aceptar” para ejecutar la transformación, y verá que en la faceta que ha sido filtrada ya no hay registros que contengan “sp.” como parte del valor en el campo "scientificName"
.
Cierre la faceta y el filtro del campo "scientificName"
.
Los filtros se pueden utilizar también incluyendo expresiones regulares, que permiten buscar ciertos patrones en los valores de los campos. Por ejemplo, se pueden buscar palabras que comiencen con ciertas letras, o que comiencen con mayúscula o minúscula, etc.
A modo de ejemplo, buscaremos valores en el campo "genus"
que comiencen con minúscula. Para ello, abra una faceta y un filtro de texto para el campo "genus"
. En el filtro coloque la siguiente expresión en el cuadro de texto: ^[a-z]
, y seleccione las opciones “Distingue mayúsculas y minúsculas” y “regex” (Figura 33a). Con dicha expresión se pueden buscar los valores en los que la primera letra es minúscula.
Siguiendo estos pasos, debería poder ver dos valores (Figura 33b). Corrija estos valores filtrados, dado que el género debe comenzar con mayúscula.
OpenRefine acepta un lenguaje de expresiones regulares Java, que puede consultar aquí: http://docs.oracle.com/javase/tutorial/essential/regex/. Algunas expresiones que pueden ser útiles como filtros para diversos campos son:
-
^[A-C]
Busca las cadenas de texto que comienzan (
^
) con mayúscula de la A a la C ([A-C]
) -
^[^a-d]
Busca las cadenas de texto que comienzan (
^
) con cualquier carácter en minúscula salvo de la a a la d ([^a-d]
) – el^
dentro del[]
indica negación. -
^\w
Busca las cadenas de texto alfanuméricas que comienzan (
^
) con un número o una letra (\w
) –de 0 a 9 o de la a a la z, mayúscula o minúscula, o el carácter '_'. -
^\s
Busca las cadenas de texto que comienzan (
^
) con un espacio en blanco (\s
). -
^\d
Busca las cadenas de texto que comienzan (
^
) con un dígito (\d
). -
^\D
Busca las cadenas de texto que comienzan (
^
) con un carácter no dígito (\D
). Equivalente a la expresión con negación^[^0-9]
. -
\d{4}
Busca cadenas de texto que contengan dígitos (
\d
), en particular 4 dígitos ({4}
). -
^\w.*\d$
Busca las cadenas de texto que comiencen (
^
) un carácter alfanumérico o el carácter '_' (\w
), sigan (.
) con cualquier carácter (*
) y terminen ($
) con un dígito (\d
). -
^[A-Z].*\s[A-Z]
Busca las cadenas de texto que comienzan (
^
) con mayúscula ([A-Z]
) –cualquier mayúscula de la A a la Z– seguidas de (.
) cualquier carácter (*
), luego un espacio (\s
), luego otra letra mayúscula ([A-Z]
). -
[À-ÖØ-öø-ÿ]
Busca las cadenas de texto que contengan al menos un carácter especial ([À-ÖØ-öø-ÿ]) –dentro de los rangos de caracteres Unicode À-Ö o Ø-ö o ø-ÿ, por ejemplo caracteres con diacríticos (acentos graves, agudos, circunflejos, diéresis, virguillas, cedilla, etc.)
Pruebe el uso de algunas de esas expresiones en distintos campos.
Para más ejemplos y usos, puede consultar el repositorio de OpenRefine en GitHub.