Importar y acceder a los datos

DAT-2.D.1, DAT-2.C.1

Las computadoras pueden ser útiles en el procesamiento de datos para obtener información, pero tu capacidad de procesar datos depende tanto de tus capacidades como de las herramientas que tengas disponibles.

En esta página, contruirás varias herramientas (específicamente, selectores) para ayudarte a responder las preguntas sobre los datos que te interesan.

Aprendiste acerca de selectores en Unidad 2 Laboratorio 2 Página 2: Planificación de una aplicación de cuestionario.
  1. "U3L4-Procesamiento-de-datos"Comienza un proyecto nuevo llamado U5L3-ProcesamientoDeDatos
  2. Visita CORGIS Datasets Project o Tableau Sample Data Sets y selecciona un conjunto de datos que te gustaría explorar. Descarga el archivo CSV para los datos que quieres explorar.
    Snap! permite importar datos en formato CSV. Puedes convertir un archivo XLS o XLSX a CSV: ábrelo en una hoja de cálculo (como Google Sheets) y descárgalo como CSV para arrastrarlo a Snap!. El sitio web de Tableau también tiene archivos JSON, PDF y ZIP; estos son más difíciles de procesar y no se recomiendan para este laboratorio.
  3. Abre Snap! y arrastra el archivo descargado dentro de la ventana de Snap!. Debes ver una tabla llena de datos. Mira los datos (incluidos los encabezados de columnas en la fila superior) para darte una idea de qué tipo de información está incluida. Luego haz clic en "OK" para cerrar la ventana. Todavía puedes ver los datos en el visor del escenario de Snap!.
DAT-2.D.5

Un gráfico con una serie de puntos de datos, en el que generalmente siguen una línea recta desde la parte superior izquierda hasta la parte inferior derechaEs posible que estés familiarizado con las tablas de las aplicaciones de hojas de cálculo (tales como Hojas de cálculo de Google, Numbers de Apple , o Microsoft Excel) que almacenan datos tabulares en diferentes formatos de archivo. Las hojas de cálculo ayudan a organizar la información de manera eficiente y pueden encontrar tendencias en los datos de manera automática (como la línea que se muestra a la derecha). CSV es un formato de hoja de cálculo abierto que funciona en cualquiera de estas aplicaciones y en Snap!.

¿Qué significa CSV ?
CSV significa "valores separados por comas". Los archivos CSV son tablas de datos almacenados con comas entre cada elemento de una fila y saltos de línea entre cada fila de la tabla. (Puedes ver las comas y los saltos de línea de un CSV abriéndolo en un editor de texto.)
  1. Experimenta con diferentes entradas al elemento () del bloque 'ranura de entrada de la lista' para acceder a diferentes filas del conjunto de datos.
  2. Habla con tu compañero¿En qué se diferencia el primer elemento de tu conjunto de datos (elemento (1) de) de los demás elementos?
  3. Localiza el bloque sin el primer elemento' y determina qué hace con tus datos.
  4. Construye los selectores:
    1. encabezado de tabla () que reporta solo los encabezados en una tabla
    2. datos de tabla () que reporta solo los datos (no los encabezados)

Una tabla es representada en Snap! como una lista de listas. Si das un clic derecho (o control-clic en una Mac) en una tabla, puedes cambiarte a "vista de lista"y ver como los datos (y encabezados de columnas) son almacenados. Ver ejemplos en vista de tabla y en vista de lista.

Vista de tabla 
Vista de lista
reporte de un conjunto de datos de automóviles presentado como una tabla con columnas y filas; la primera fila es la etiqueta de cada columna; las filas restantes contienen los datos de un solo registro
reporte de un conjunto de datos de automóviles presentado como una lista de listas; la primera lista contiene las etiquetas para cada una de las columnas mostradas en la vista de tabla; las listas restantes contienen los datos de un solo registro cada una
: Registros, campos y columnas Animación de tres fotogramas del reporte del conjunto de datos de automóviles presentado como una tabla con columnas y filas; en el primer fotograma, se destaca la cuarta fila de la tabla y se etiqueta como 'registro (fila)'; en el segundo fotograma, se destaca la tercera columna de la tabla y se etiqueta como 'columna'; en el tercer fotograma, se destaca la celda en la cuarta fila y tercera columna y se etiqueta como 'campo'
  1. Construye los bloques registro () de tabla ()y campo () de registro ()  para facilitar pensar en la estructura de la tabla.
  2. Habla con tu compañero Construye columna () de tabla () para reportar solo una columna de tu conjunto de datos.

    Registro y columna son selectores para una tabla tipo de datos del resumen. No necesitamos un constructor para este tipo de datos abstractos porque estamos importando los datos de Internet, pero los selectores serán útiles. (Campo es un selector para registro, que es, en sí mismo, un tipo de datos abstractos.)

    Observa que estos nombres de bloque sugeridos incluyen la palabra "tabla" o "registro" antes de la segunda entrada. Incluir el tipo de datos de entrada esperado en el nombre del bloque puede ayudarte a evitar errores causados por el uso de un selector que no coincide con la entrada que quieres usar.

    Intenta averiguar cómo reportar solo una columna, pero haz clic solo si realmente necesitas una pista.

    map () over () realiza la misma función en cada elemento de una lista. Dado que una tabla es una lista de listas (donde cada lista interna es un registro), mapear realizará la misma función en cada registro de tu conjunto de datos. Tendrás que determinar qué función asignar sobre el conjunto de datos. Aprendiste acerca de mapear en Unidad 3 Laboratorio 2 Página 5: Transformar cada elemento de la lista.

  3. Habla con tu compañero Determina una pregunta que puedas responder mirando una sola columna de tu conjunto de datos y luego construye el código para responder a tu pregunta. Puede que necesites construir bloques adicionales o importarlos de otros proyectos.

    Puedes ver el número de la columna manteniendo el puntero del ratón sobre la letra en la parte superior de la columna en la vista de tabla.
    Imagen de la parte superior de la vista de tabla del conjunto de datos de automóviles con el puntero del ratón sobre la parte superior de la segunda columna; las columnas ahora están etiquetadas como A, 2 (donde está el puntero), C, D, etc.

    Es posible que necesites utilizar mapear, mantener o combinar para responder tu pregunta. Haz clic para ver dónde aprendiste sobre estas funciones de orden superior.

    Haz clic para ver ejemplo de preguntas para preguntar sobre una sola columna.

    • ¿Cuál es el promedio de MPG (millas por galón) o KPL (kilómetros por litro) que los autos en esta base de datos obtienen en la ciudad? (Necesitas un bloque de promedio.)
    • ¿Cuál es el año del auto más antiguo en esta base de datos? (Necesitas un bloque de mínimo.)
    • ¿Cuántos autos en este conjunto de datos tienen transmisión manual?

    Observa que todos estos ejemplos solo requieren datos de una columna. Si quieres hacer una pregunta que requiera mirar otra columna (por ejemplo, "¿Cuál es el modelo de carro con el mayor MPG?"), a continuación puedes hacer la actividad "Si queda tiempo".

Desafíos en la recolección de datos

DAT-2.C.3, DAT-2.C.2 all bullets

Los investigadores a menudo se enfrentan a desafíos con los datos antes de comenzar el análisis. Imagina que estás combinando datos de diferentes países sobre distancias entre ciudades, y descubres que los datos de distancia de los EE. UU. se miden en millas, pero los datos de distancia de Europa se miden en kilómetros; para hacer comparaciones significativas, necesitas datos uniformes (todos en millas o todos en kilómetros). Como otro ejemplo, si utilizas una encuesta en línea para recopilar datos, la forma en que los participantes abrevian, deletrean o escriben con mayúsculas sus respuestas puede variar. Los datos también pueden estar incompletos (si algunas personas no completaron la encuesta) o no ser válidos (si algunas personas cometieron errores).

: Limpieza de datos
DAT-2.C.4, DAT-2.E.2

Limpieza de datos (cleaning data) es el proceso de hacer los datos uniformes sin cambiar su significado (como el reemplazo de abreviaturas, ortografía y mayúsculas por la palabra deseada o la conversión de millas a kilómetros). Los programadores pueden utilizar programas para filtrar y limpiar los datos digitales, obteniendo así una mayor visión y conocimiento.

DAT-2.C.5

Imagina que lees en las noticias que las personas que comen mucho brócoli tienen menos probabilidades de contraer cáncer. La conclusión de que el brócoli previene el cáncer podría ser el resultado del sesgo. Podría ser que las personas que comen mucho brócoli tienden a ser las mismas personas que también hacen mucho ejercicio, y en realidad es el ejercicio lo que hace la diferencia. En la investigación, el término "sesgo" no tiene que significar prejuicio; se trata de las razones por las que los datos podrían no significar lo que parecen significar.

La gente a veces piensa que la manera de superar el sesgo es usar una muestra más grande (preguntando a más personas si comen brócoli y tienen cáncer). Pero si la muestra más grande tiene el mismo problema (las personas que hacen más ejercicio también comen más brócoli), entonces una muestra más grande no eliminará el sesgo.

  1. DAT-2.C
    Escribe tus ideasExplica los posibles retos sobre los datos que podrías enfrentar si fueras a recolectar tus propios datos para responder a una pregunta como la que investigaste en el problema anterior.

I need to redo these images and code statements with "record" instead of "row." --MF, 6/27/19

  1. Responde la pregunta "¿Cuál es el modelo de auto con mayor MPG?" construyendo un bloque fila con máximo en la columna () de tabla ().

    Haz clic aquí para obtener una pista sobre cómo construir una fila con el máximo en columna () de una tabla ().

    BH please review the alt text on all five images. --MF, 6/26/19

    A continuación se muestra una forma de construir un máximo de función de 'ranura de entrada de lista' para una lista simple (que no es una tabla). Puedes construir un bloque   máximo de () y () que compare dos entradas y utilizarlo con combinar para encontrar el máximo de una lista entera.
    máximo de (a) y (b) {
    si (a > b) {
        reporta (a)
    }
    reportar (b)
} máximo de (datos) {
    reportar (combinar los elemenos de (datos) con (máximo de  ( ) y ( )))
}
      Puedes utilizar un enfoque similar aquí construyendo un fila con máximo en columna () entre fila () y fila () que compare un campo en específico (columna) para dos líneas y reporta la línea con el valor más alto en la columna específica.

    Need to fix "specific field (column)" in the TIF. --MF, 6/27/19
  2. Escribir números de campos específicos en el código es problemático por varias razones: es fácil cometer errores, genera un código difícil de leer y (esto realmente sucedió con la base de datos de automóviles entre ediciones de BJC) el diseño de una tabla podría cambiar con el tiempo.
    • Escribe un bloque campo llamado () a partir de registro () de tabla () que busque el nombre dado en el encabezado de la tabla, busque qué número de elemento tiene en la lista del encabezado y utilice ese número de campo para extraer el registro dado.
    • Escribe también columna llamada () de tabla (), que debería tomar la tabla completa (encabezado y datos) como entrada, pero que reporte la columna deseada solo a partir de los datos de la tabla (de manera que el resultado pueda usarse directamente como entrada para los bloques como PROMEDIO DE LISTA).
    • Puede que te resulte útil index of () in ().