mirror of
https://github.com/flowsta/uc3m-periodismo-datos.git
synced 2024-12-26 15:51:22 +01:00
238 lines
12 KiB
Markdown
238 lines
12 KiB
Markdown
|
|
# Table of Contents
|
|
|
|
1. [Contenidos](#orgc39c322)
|
|
1. [OpenRefine](#orge7bf1c3)
|
|
1. [Los datos](#orgabce6bb)
|
|
2. [Funciones](#org91be763)
|
|
3. [Instalación](#orgd29d501)
|
|
4. [Ejecutar Refine](#org6fcac0d)
|
|
5. [Primeros pasos](#orgf0faf4a)
|
|
6. [Manuales](#org920416e)
|
|
2. [Virtualización y/o alternativas a Cygwin o la terminal de OSX](#orgd5109fb)
|
|
1. [Resolver los problemas de Cygwin](#orgfbfebeb)
|
|
2. [WSL](#org42163af)
|
|
3. [Git bash](#org93406d8)
|
|
4. [Msys2](#org2b13f5d)
|
|
5. [Github CLI](#org28fd02e)
|
|
6. [VirtualBox](#org83dd8fa)
|
|
3. [Cómo poner una imagen en Github](#orgabb1bd8)
|
|
4. [Problemas Ruby](#org7c8663d)
|
|
2. [Pruebas](#org216f79e)
|
|
|
|
- State "PDF" from <span class="timestamp-wrapper"><span class="timestamp">2021-11-11 Thu 07:19</span></span>
|
|
|
|
|
|
<a id="orgc39c322"></a>
|
|
|
|
# Contenidos
|
|
|
|
- Hemos trabajado con algunas herramientas de recolección de datos y las seguiremos utilizando diariamente a ser posible.
|
|
- Para analizar los datos también hemos abordado algunas herramientas de línea de comandos.
|
|
- En esta ocasión vamos a trabajar con OpenRefine.
|
|
- Para ello hay que descargarse <https://openrefine.org/>
|
|
- Vamos a trabajar con datos recopilados por el proyecto [TRESCA](https://trescaproject.eu).
|
|
|
|
|
|
<a id="orge7bf1c3"></a>
|
|
|
|
## OpenRefine
|
|
|
|
- Nació como un proyecto de Google de software libre, Google Refine.
|
|
- Cuando Google decidió dejarlo, la comunidad de usuarixs y desarrolladorxs hicieron un "fork" del proyecto y comenzó Open Refine, que es la evolución "natural" de Google Refine.
|
|
- Por eso hay quien se refiere a el software como Google Refine, Open Refine o, directamente, Refine.
|
|
|
|
|
|
<a id="orgabce6bb"></a>
|
|
|
|
### Los datos
|
|
|
|
- El archivo `feliz.csv` proviene de los datos recopilados por TRESCA para explorar las tendencias de Twitter durante un periodo de la pandemia del COVID19.
|
|
- El nombre responde a que de todo ese bruto de datos recopilados se han seleccionado los mensajes que contuvieran la expresión "feliz". (aunque esto tiene truco, lo recordamos en la siguiente sesión).
|
|
- Se recopila a través de la API de Twitter.
|
|
- Conviene señalar que Twitter devuelve por "tendencias" tanto los "hashtags" más usados (es decir, aquellas expresiones que comienzan por una almohadilla `#`, como por ejemplo `#FelizNavidad`) como las expresiones que detecta que se usan más aunque no estén marcadas por lxs usuarixs como hashtag (como por ejemplo `Feliz Navidad`.
|
|
- Hay dos campos de fecha.
|
|
- Un campo del término de la tendencia y otro de la consulta de la tendencia.
|
|
|
|
|
|
<a id="org91be763"></a>
|
|
|
|
### Funciones
|
|
|
|
- Sirve para limpiar y analizar datos.
|
|
- Hay que tener en cuenta que la visualización de datos también se refiere a esta etapa en la que el análisis de ciertas cantidades de datos se va a apoyar en herramientas visuales que favorecerán ese análisis.
|
|
- Se le considera la "navaja suiza" del periodismo de datos por todo lo que se puede hacer "limpiando datos".
|
|
|
|
|
|
<a id="orgd29d501"></a>
|
|
|
|
### Instalación
|
|
|
|
- Se ha procedido a la instalación contemplando los diversos escenarios: máquinas W$ con Java, sin Java, OSX o GNU/Linux.
|
|
- También se han superado las advertencias de W$ u OSX sobre instalar software "no verificado".
|
|
- Un paréntesis sobre esto. Por norma general, esos avisos son una buena costumbre y previenen de instalar cosas que no estén verificadas/gestionadas/testadas por quienes hacen el sistema operativo.
|
|
- La contraparte es que mucho software libre, que por su naturaleza es de código abierto, que cualquier persona puede investigar para ver si es o no dañino, que suele tener una comunidad de desarrolladorxs y usuarixs que lo "quieren" y que puede no pasar por los procesos de esas compañías de sistemas operativos propietarios también se ven incluidos en el mismo "saco" que los anteriores.
|
|
- Aunque no es un dogma de fe, si el software es libre sueles poder fiarte más que si no lo es, pero depende de ti o de que confíes en quien te lo ofrece o quien te lo recomienda que sigas ese consejo o no. Lo importante aquí es que cualquiera tiene, potencialmente, la capacidad para investigar si efectivamente es bueno o no.
|
|
|
|
|
|
<a id="org6fcac0d"></a>
|
|
|
|
### Ejecutar Refine
|
|
|
|
- En Windows y Mac hay que pinchar sobre el ejecutable mientras que en GNU/Linux tenemos que ir desde la terminal al directorio donde se encuentra el ejecutable y ejecutarlo con `./refine`.
|
|
- Se abre una pantalla negra que no hay que cerrar, es la del programa.
|
|
- En el navegador se debería abrir una pestaña nueva (o el navegador con esa página si no lo teníamos abierto) donde aparece la interfaz de Refine.
|
|
- Refine es una aplicación web **PERO** no requiere de conexión a Internet, se ejecuta localmente (esa es la pantalla negra).
|
|
- Como toda aplicación web cliente-servidor, monta un servidor en el puerto `3333`, que es donde nos conectamos para verlo.
|
|
- El nombre de nuestro ordenador es `localhost` y su dirección IP (reservada) es `127.0.0.1`.
|
|
- Recordad que se puede ver esto en el archivo `/etc/hosts`
|
|
- Podemos tener varias pestañas abiertas pero todas serán de la misma instancia.
|
|
- Podemos tener varias sesiones de Refine abiertas en puertos distintos (se ve en siguiente sesión de Refine).
|
|
|
|
|
|
<a id="orgf0faf4a"></a>
|
|
|
|
### Primeros pasos
|
|
|
|
Se han visto algunas acciones y se repasarán en la siguiente sesión.
|
|
|
|
1. Cargar archivos
|
|
2. Editar columnas
|
|
3. Transformaciones comunes
|
|
4. Ordenar columnas
|
|
5. Facetas (numéricas, temporales y de texto)
|
|
6. Borrar filas
|
|
7. Exportar proyecto
|
|
|
|
Se recomienda seguir probando libremente ya que no se produce una pérdida de los datos pues el csv original sigue intacto (siempre que no lo borréis).
|
|
|
|
|
|
<a id="org920416e"></a>
|
|
|
|
### Manuales
|
|
|
|
- La propia página de Open Refine.
|
|
- Manual de Open Refine: <https://flowsta.github.io/refine>
|
|
|
|
|
|
<a id="orgd5109fb"></a>
|
|
|
|
## Virtualización y/o alternativas a Cygwin o la terminal de OSX
|
|
|
|
El orden no importa en este caso pero, en los casos de problemas con Windows, se puede optar por probar estas alternativas:
|
|
|
|
|
|
<a id="orgfbfebeb"></a>
|
|
|
|
### Resolver los problemas de Cygwin
|
|
|
|
- Encontrar problemas no es malo, podemos aprender mucho de su resolución.
|
|
- En lo que respecta a git se recomienda seguir el siguiente procedimiento:
|
|
- Quitar `git` con `apt-cyg remove git`.
|
|
- Instalar `gcc-core`, `libcurl4`, `libcurl-devel`, `openssl`. Recordad que se pueden buscar estos paquetes con `apt-cyg searchall lo-que-queramos-buscar`.
|
|
- Instalar `git` con `apt-cyg install git`
|
|
|
|
|
|
<a id="org42163af"></a>
|
|
|
|
### WSL
|
|
|
|
- Es una terminal de un sistema operativo GNU/Linux virtualizado por M$ para W10.
|
|
- Había que iniciar una PowerShell con permisos de administración y ejecutar `wsl -install` e instala una terminal de Ubuntu GNU/Linux.
|
|
- Si en vez de Ubuntu se quiere otra distribución, se puede especificar con `wsl -install -d NombreDistribución`, donde una puede ser "Debian"
|
|
|
|
|
|
<a id="org93406d8"></a>
|
|
|
|
### Git bash
|
|
|
|
- En la página oficial de git, <https://git-scm.org>, se puede descargar una terminal para trabajar con git.
|
|
- Se trata de una terminal basada en Msys2 (ver más abajo).
|
|
- Viene con git y otros comandos preinstalados.
|
|
- Si se quiere utilizar como terminal multipropósito, se recomienda aprender de MSYS2.
|
|
|
|
|
|
<a id="org2b13f5d"></a>
|
|
|
|
### Msys2
|
|
|
|
- En la página lo explican muy bien: <https://www.msys2.org/>
|
|
- Es otro proyecto de terminal multipropósito llamada Mintty que tiene cosas de Cygwin pero es independiente.
|
|
- A efectos de uso, una diferencia fundamental es la gestión de paquetes que no se realiza con apt-cyg o el software de instalación (setup) sino con `pacman`, un modelo que nace en la distribución de GNU/Linux ArchLinux: <https://archlinux.org/pacman/>
|
|
- Para aprender un poco de cómo gestionar (buscar, instalar, actualizar, borrar) paquetes se puede ir a <https://www.msys2.org/docs/package-management/> o <https://www.lifewire.com/using-the-pacman-package-manager-4018823>
|
|
|
|
|
|
<a id="org28fd02e"></a>
|
|
|
|
### Github CLI
|
|
|
|
- Github también provee una terminal CLI para relacionarse con Github: <https://cli.github.com/>
|
|
- Tiene algunos puntos a favor pero también otros en contra.
|
|
- A favor:
|
|
- Su aspecto está muy pulido.
|
|
- Hacen fácil y más intuitivas las acciones que se realizan.
|
|
- En contra:
|
|
- Solo sirve para Github, no podríamos usarla con otros repositorios git que no fueran de Github.
|
|
- Tiene una personalización para esa facilidad que hacen que sus acciones no sirvan en otras plataformas o programas.
|
|
|
|
|
|
<a id="org83dd8fa"></a>
|
|
|
|
### VirtualBox
|
|
|
|
- No tendría por qué ser la última opción a abordar pero, en el caso concreto de tener el problema con git, sí.
|
|
- Virtualbox es un programa libre de Oracle disponible para W$, OSX o GX que sirve para virtualizar sistemas operativos.
|
|
- Es decir, desde un ordenador W$ se puede instalar en ese programa otro sistema operativo, ya sea otra versión de W$, de OSX o de GX, y esto funciona como un programa.
|
|
- De esta forma se pueden probar otros sistemas operativos o alguna de sus aplicaciones sin tocar el sistema operativo de nuestro ordenador.
|
|
- Se puede descargar de <https://www.virtualbox.org/>
|
|
|
|
|
|
<a id="orgabb1bd8"></a>
|
|
|
|
## Cómo poner una imagen en Github
|
|
|
|
Ha habido varias dudas sobre cómo poner una imagen en Github. Esto lo he comentado en clase el truco pero lo pondré más detallado por aquí:
|
|
|
|
1. La opción fácil es mirar cómo lo he hecho yo en uno de los documentos markdown que os he compartido y hacer lo mismo. No sé si alguien ha hecho esto, no tengo constancia.
|
|
2. Otra opción muy fácil que habéis empleado es el "modo Windows", arrastrar al editor de Github y que ponga la ruta. Eso, si bien no es lo que se pide, también puede servir para que nos dé pistas de cómo hacerlo.
|
|
3. Hacerlo bien.
|
|
|
|
Para hacerlo bien tenemos que tener en nuestro repositorio git la misma imagen que queremos tener en Github, siempre que esta imagen sea "nuestra", es decir:
|
|
|
|
- Que tenga la propiedad de la imagen, porque la he tomado o creado con software. En este caso no hace falta especificar que se trata de una imagen tuya, pues todo el contenido tuyo es tuyo, pero sí que conviene ponerlo.
|
|
- Que la haya generado yo, por ejemplo, a través de una captura de pantalla de una infografía de una página web. En este caso conviene poner un aviso de "Captura de pantalla realizada de la web-que-sea cuya propiedad intelectual pertenece a quien-sea".
|
|
|
|
Entonces, si la imagen es "nuestra":
|
|
|
|
- En la carpeta del repositorio, creamos una carpeta para las imágenes de nombre, por ejemplo, `img` con `mkdir img`.
|
|
- Copiamos la imagen con `cp ruta-imagen-origen img/.`
|
|
- Editamos con `nano` nuestro archivo y enlazamos la imagen con `![texto de la imagen)[/img/nombre-de-la-imagen "title o texto que aparece cuando pasamos por encima"]`. Guardamos y salimos.
|
|
- Nota: para crear un enlace de texto es igual, solo cambia que no se coloca el signo de cierre de admiración delante.
|
|
- Miramos el estado de nuestro repositorio con `git status`. Nos dirá que hay archivos sin seguimiento.
|
|
- Los añadimos con `git add ruta-archivos`
|
|
- Comentamos la acción con `git commit -m "comentario útil"`
|
|
- Lo subimos con `git push`
|
|
|
|
|
|
<a id="org7c8663d"></a>
|
|
|
|
## Problemas Ruby
|
|
|
|
Habría que probar esta posible solución <https://gist.github.com/ahsankhatri/260c58929962a01bf9e26ef660c832d0>
|
|
|
|
- Seleccionar los paquetes curl, git, nano, openssh, openssl, unzip, util-linux, vim, wget
|
|
- Instalar ruby desde su página <https://rubyinstaller.org/downloads/>
|
|
- Cambiar la variable PATH para tener a Ruby en el PATH `/cygdrive/c/Ruby22/bin` (o algo parecido, hay que comprobarlo)
|
|
- Editar `~/.bash_profile` o `~/.profile` con `alias gem=gem.bat`
|
|
- Instalar lolcat con `gem install lolcat`.
|
|
- A partir de ahora, cuando instalas un paquete (gema) hay que añadir a `~/.bash_profile` esto: `alias lolcat=lolcat.bat`
|
|
|
|
|
|
<a id="org216f79e"></a>
|
|
|
|
# Pruebas
|
|
|
|
- Describe los datos que estamos utilizando en el proyecto TRESCA. Qué tipo de archivo y qué tipo de datos.
|
|
- Explica la diferencia entre filas y columnas
|
|
- ¿Cómo harías que OpenRefine interpretara correctamente los tipos de datos?
|
|
|