Introducción a R para Análisis de Datos
Introducción a R para Análisis de Datos
Habilidades Obtenidas
sabes cómo utilizar
el pensamiento estructurado para definir
un problema y hacer las preguntas correctas;
Podrás practicar muchísimo cómo usar R para análisis estadístico y también RStudio, un entorno
de desarrollo integrado (IDE) para R que te permitirá crear visualizaciones avanzadas de datos con
gran nivel de detalle. Con R, puedes presentar tus datos con un estilo atractivo y artístico sin
problemas. Entre otras ventajas de R, podemos mencionar las siguientes:
R vs Python
El plan de estudios no abarca Python, pero te aconsejamos que lo explores después de obtener
este certificado. Si te gustaría aprender otros lenguajes de programación, no dudes en seguir
capacitándote.
Lenguajes R Python
- De código abierto - Los datos se
- De código abierto - Los datos se
almacenan en marcos de datos - Las
almacenan en marcos de datos - Las
Funciones fórmulas y las funciones ya están
fórmulas y las funciones ya están
en común disponibles - Existe una comunidad
disponibles - Existe una comunidad para
para desarrollar códigos y brindarte
desarrollar códigos y brindarte ayuda
ayuda
- Manipulación de datos,
visualización de datos y paquetes - Sintaxis simple para las necesidades de
Ventajas estadísticos - Enfoque de "bisturí" aprendizaje automático - Se integra con
únicas respecto de los datos: Encuentra plataformas en la nube, como Google
paquetes para hacer lo que quieres Cloud, Amazon Web Services y Azure
con los datos
- Las distintas convenciones de - Los principiantes tienen muchas más
nomenclatura hace que sea difícil decisiones por tomar respecto de la
para los principiantes elegir las entrada y salida de datos, la estructura,
Desafíos
funciones correctas - Los métodos las variables, los paquetes y los objetos -
únicos
para manejar variables pueden ser "Enfoque de 'navaja Suiza' respecto de
algo difíciles de entender para los los datos": Descubre cómo hacer lo que
principiantes quieres con los datos
Recursos adicionales
Para más información sobre la comparación entre R y Python, consulta estos recursos:
: Este artículo, escrito por un profesional de los datos con una vasta experiencia en
ambos tipos de lenguaje, brinda una comparación detallada entre los dos.
Consulta RStudio: Un único hogar para R y Python para obtener más información. Después de
trabajar con R y RStudio, podrás aprender Python u otro lenguaje de programación de forma más
intuitiva.
Diviértete con R
al principio veía un mensaje de error y pensaba:
"Lo hice mal, listo, se acabó el juego".
Ahora pienso: "Eso solo es parte del juego".
Cuando comencé a exponerme un poco más
a cómo se veía R,
pensaba: "Se ve demasiado sofisticado.
Si se ve así posiblemente sea muy difícil".
Pero las personas que conocía y que lo utilizaban
siempre eran muy entusiastas cuando
hablaban de él y sentían que tenía
muchas más ventajas que
otro software que puedes utilizar para ejecutar análisis.
. Lenguajes de programación
Los lenguajes de programación son las palabras y los símbolos que
utilizamos para escribir instrucciones para que sigan las computadoras.
Piensa en un lenguaje de programación como
si fuera un puente que conecta a los humanos con las computadoras,
y que les permite comunicarse.
Los lenguajes de programación tienen su propio conjunto de reglas sobre cómo
deben usarse esas palabras y esos símbolos, y se llama sintaxis.
Claridad
Los lenguajes de programación tienen reglas y pautas específicas
para dar instrucciones a una computadora.
Cuando le indicas a una computadora qué hacer,
tus instrucciones tienen que ser muy claras.
No puede haber ninguna incoherencia
en la forma en que escribes el código.
Si la hay, el código no funcionará.
Traducir tus pensamientos en códigos te
obliga a determinar exactamente cómo escribir cada paso
de tu análisis y cómo hacer para que los pasos encajen.
Le da a tu análisis un nivel de
precisión que lo hace realmente poderoso.
Ahorra Tiempo
Un analista de datos se encarga de recopilar, transformar y organizar los datos para sacar
conclusiones, hacer predicciones e impulsar la toma de decisiones fundamentada. Los
lenguajes de programación que más usan los analistas de datos son R y Python.
R ofrece a los analistas de datos funciones prácticas para estadística, y es útil para crear
visualizaciones de datos avanzadas. Consulta estos recursos para obtener más información
sobre R:
Manuales de R
R para principiantes
: Una guía de primeros pasos para trabajar con datos, gráficos y estadísticas en R
Python es un lenguaje de uso general que puedes usar para crear lo que necesites para tu
análisis de datos. A continuación, detallamos algunos recursos para que empieces a
aprender Python:
: Sitio web con guías que te ayudan a dar tus primeros pasos
Tutorial Python
Diseñador web
Los diseñadores web se encargan de diseñar y darle estilo a las páginas web que contienen
texto, gráficos y videos. Por lo general, usan Lenguaje de marcas de hipertexto v5
(HTML5) y Hojas de estilo en cascada (CSS) para crear sitios web.
HTML5 brinda la estructura de las páginas web y se usa para vincularse con plataformas de
hosting. Usa estos recursos para obtener más información sobre HTML5 y CSS:
Tutorial de HTML
: Curso gratuito de W3C en edX; por 199 dólares, podrás obtener un certificado
verificado que acredite que realizaste el curso
CSS se usa para diseño de páginas web y elementos de gráficos de control (color, diseño y
fuente), así como presentaciones de páginas en distintos dispositivos (pantallas grandes,
pantallas de dispositivos móviles e impresoras). Explora estas hojas de referencia sobre
CSS:
: Incluye las partes más comunes de CSS, incluido gradiente, fondo, familia de fuentes,
bordes y mucho más
: Lista con 50 hojas de referencia; elige las que te sean más útiles
Swift (para plataformas de Apple) es un lenguaje de scripts de código abierto para macOS,
iOS, watchOS y tvOS. Su objetivo principal es lograr que las aplicaciones funcionen con
más rapidez. Para más información sobre Swift, explora estos recursos:
[Link]
: Comunidad de código abierto que contiene recursos para aprender a usar Swift; incluye
videos y códigos de muestra
: Sitio web para desarrolladores de Apple que contiene información para quienes quieran
usar Swift
explora otros lenguajes que se usan para desarrollo en Android. Consulta estos recursos
sobre Java:
Android Studio
: Entorno de desarrollo integrado (IDE) descargable que contiene herramientas para
desarrollar aplicaciones para dispositivos Android
Tutorial de Java para principiantes: Escribe una aplicación simple sin necesidad de tener
experiencia
: Incluye cursos, tutoriales y videos gratuitos para aprender sobre desarrollo móvil con
Xamarin
Tutorial sobre Xamarin: Desarrolla tu primera aplicación para iOS o Android usando C#
: Instrucciones para desarrollar una aplicación móvil que muestre el texto "Hola mundo"
Aprender C# en Codecademy
: Sitio web con lecciones interactivas básicas y gratuitas, así como actividades extra a las que
puedes acceder mediante una suscripción mensual
Java se usa ampliamente para crear aplicaciones web de empresas que pueden ejecutarse
en múltiples clientes. Una de las fortalezas principales de Java es su enfoque de "escribir
una vez, ejecutar en cualquier lado" (WORA). Para más información sobre Java, explora
estos recursos:
: Curso gratuito de Java para principiantes en el sitio web "Home and Learn"
Documentación de Ruby
: Incluye guías, tutoriales y material de referencia para ayudarte a aprender más sobre
Ruby
: Sitio web con lecciones interactivas básicas y gratuitas, así como actividades extra
a las que puedes acceder mediante una suscripción mensual
Desarrollador de videojuegos
C++ es una extensión del lenguaje de programación C que también se usa para crear
juegos de consola, como los juegos para Xbox. Explora los siguientes enlaces para más
información sobre C++:
Como analista de datos, hay muchas probabilidades de que, en algún momento de tu carrera
profesional, trabajes con SQL, R y hojas de cálculo. Cada herramienta tiene sus ventajas y
desventajas, pero todas facilitan el proceso de análisis de datos y lo hacen más eficiente.
Las tres herramientas tienen dos aspectos importantes en común:
Todas usan filtros: Por ejemplo, puedes filtrar un conjunto de datos sin problemas
usando alguna de estas herramientas. En R, puedes usar la función de filtro. Así,
puedes llevar a cabo la misma tarea que con una consulta básica de SELECT-
FROM-WHERE en SQL. En una hoja de cálculo, puedes crear un filtro usando las
opciones del menú.
3. Luego, haz clic en el botón Tema nuevo y crea un nuevo hilo en el foro.
4. Escribe el título del tema y el contenido de tu pregunta y, luego, haz clic en Publicar
tema.
Introducción a R
R es un lenguaje de programación que se usa con frecuencia para
análisis estadísticos, visualización y análisis de datos.
Más adelante, realizarás un recorrido por RStudio, que es un entorno de software
popular para el lenguaje R.
.
R está basado en otro lenguaje de programación
denominado S. En la década de 1970, John Chambers creó S para
uso interno en Bell Labs, una famosa planta de investigación científica.
En la década de 1990, Ross Oaxaca y
Robert Gentleman desarrollaron R en la Universidad de Auckland,
Nueva Zelanda. Lo llamaron R porque con esa letra empiezan los nombres
de sus dos autores y para jugar con el nombre de una sola letra, como el de su predecesor,
S.
A partir de entonces,
R se ha convertido en el lenguaje de programación preferido de los científicos, los
estadísticos y
los analistas de datos en todo el mundo.
.
R es accesible, está centrado en los datos, es de código
abierto y tiene una comunidad activa de usuarios.
.
Si trabajas con paquetes más avanzados,
puedes realizar visualizaciones de datos realmente impresionantes.
Introducción a RStudio
Eso significa que RStudio reúne todas las herramientas que podrías
querer usar en un solo lugar.
La consola de R que vimos anteriormente forma parte de este entorno.
RStudio también incluye un editor para escribir códigos y herramientas para
gestionar tus datos y crear elementos visuales.
RStudio se creó específicamente para utilizarse con R.
Te ayudará a maximizar tu productividad como analista de datos.
Analizar datos es como conducir un automóvil.
Puedes imaginar que R y RStudio son partes diferentes del automóvil.
R sería el motor.
RStudio sería el acelerador, el volante y
el tablero, todo en uno
Atajos de teclado
R Studio tiene muchos atajos de teclado.
Para aprender más, echa un vistazo a Ayuda de atajos de teclado.
Solo haz clic en Archivo, dentro de menú, y luego selecciona Archivo Nuevo y R Script.
RStudio tiene muchos atajos de teclado.
Para aprender más, echa un vistazo a Ayuda de atajos de teclado.
uedes hacer que los paneles se vean más pequeños o más grandes si haces clic en los
botones para
minimizar o maximizar que se encuentran en la parte superior derecha de cada panel.
También puedes hacer clic y arrastrar los bordes de los paneles para ajustar sus tamaños.
Paneles de RStudio
La consola de R
Inferior izquierda
Para repasar rápidamente, la consola es el lugar desde donde le das órdenes a R.
Panel Entorno
La pestaña Archivos
te permite acceder a tu directorio de archivos y
muestra los contenidos de la carpeta de trabajo en uso.
Puedes encontrar y gestionar todos tus archivos con facilidad y crear nuevas carpetas de
proyectos.
La pestaña de Diagramas.
Si creamos un diagrama, los resultados aparecen aquí.
Por ejemplo,
podemos crear un diagrama
de dispersión con el conjunto de datos
de los pingüinos que usamos antes.
panel Paquetes.
RStudio te permite acceder a la biblioteca de los paquetes de R, conocida como Tidyverse.
Puedes actualizar, instalar y gestionar tu biblioteca desde el panel Paquetes.
Los paquetes cargados en tu sesión actual tienen marcas de verificación.
pestaña Ayuda.
Aquí puedes encontrar recursos útiles para R y RStudio.
Hay muchos recursos allí que te ayudarán a responder todas tus preguntas.
Asegúrate de aprovecharlos.
Allí, encontrarás más información sobre RStudio Cloud, incluidos los planes con abono. En este
curso, usarás la versión gratuita, pero tiene ciertas limitaciones. Puedes tener solo hasta 15
proyectos en tu cuenta gratuita, y solo puedes usar 15 horas para tus proyectos por mes. Más
adelante, si ves que usas mucho RStudio, quizá quieras suscribirte a algún plan.
2. Por ahora, haz clic en el botón Registrarme, que se encuentra en la esquina superior
derecha, y comienza con la versión gratuita.
4. Una vez que te hayas registrado, abre RStudio Cloud por primera vez.
5. Haz clic en Nuevo proyecto para crear un nuevo espacio de trabajo para tu proyecto y
abre la consola de RStudio Cloud.
Pregunta 1
Resumen de la actividad
RStudio Cloud es la herramienta que más vas a usar en este curso. Para poder usar
RStudio Cloud, necesitas una conexión estable a Internet. No importa qué sistema operativo
uses porque accederás desde tu navegador.
.
Allí, encontrarás más información sobre RStudio Cloud, incluidos los planes con abono. En
este curso, usarás la versión gratuita, pero tiene ciertas limitaciones. Puedes tener solo hasta
15 proyectos en tu cuenta gratuita, y solo puedes usar 15 horas para tus proyectos por mes.
Más adelante, si ves que usas mucho RStudio, quizá quieras suscribirte a algún plan.
2. Por ahora, haz clic en el botón Registrarme, que se encuentra en la esquina superior
derecha, y comienza con la versión gratuita.
3. Escribe tu correo electrónico, una contraseña y también tu nombre completo.
4. Una vez que te hayas registrado, abre RStudio Cloud por primera vez.
5. Haz clic en Nuevo proyecto para crear un nuevo espacio de trabajo para tu proyecto y
abre la consola de RStudio Cloud.
Una vez que hayas abierto un nuevo proyecto en tu consola, puedes instalar paquetes en
RStudio Cloud.
El paquete lubridate que estás por instalar forma parte del paquete tidyverse. El paquete
tidyverse es una colección de paquetes en R con una filosofía de diseño en común para
manipular, explorar y visualizar datos. Para muchos analistas de datos, tidyverse constituye
una herramienta fundamental. Más adelante en este curso, aprenderás más sobre tidyverse.
Para instalar los paquetes núcleo de tidyverse y cargarlos, sigue estos pasos:
Puede que tarde un poco. Para saber si la instalación todavía está en proceso, revisa el ícono rojo
de Detener en la esquina superior derecha de la consola. Puedes hacer clic en ese ícono para
interrumpir la ejecución del código y cancelar el comando.
Sabrás que se completó el proceso cuando aparezca de nuevo el cursor en la parte inferior de la
consola.
2. Para cargar la biblioteca tidyverse, usa la función library(). Para cargar los paquetes
núcleo de tidyverse, escribe library(tidyverse) y presiona Enter (Windows) o Return
(Mac).
Solo tendrás que instalar el paquete una vez, pero tendrás que volver a cargarlo cada vez
que empieces una sesión nueva.
[Link]("tidyverse")
library(tidyverse)
Una de tus tareas básicas como analista consistirá en convertir datos sin procesar en
información precisa, útil e interesante. Esto puede ser difícil si los datos sin procesar son
complejos. R y RStudio se diseñaron para manejar grandes conjuntos de datos que quizá las
hojas de cálculo no pueden gestionar tan bien. RStudio también te facilita la tarea de
reproducir tu trabajo en distintos conjuntos de datos. Cuando ingresas tu código, es fácil
cargar un nuevo conjunto de datos y ejecutar tus scripts de nuevo. También puedes crear
visualizaciones más detalladas en RStudio.
Cuando los datos están diseminados en muchos grupos o categorías, puede ser difícil
gestionar tu análisis, visualizar tendencias y generar gráficos. Cuantos más grupos de datos
necesites para trabajar, más difíciles serán esas tareas. Es allí donde RStudio puede ser útil.
Por ejemplo, supongamos que estás analizando datos de ventas para cada ciudad de cierto
país. Son muchos datos de muchos grupos distintos. En este caso, cada ciudad tiene su
propio grupo de datos.
A continuación, te contamos algunas formas en las que RStudio puede ayudarte en esa
situación:
Cuando usas RStudio, es más fácil llevar a cabo algún paso específico del análisis
en cada grupo usando un código básico. En este ejemplo, podrías calcular los datos
de ventas promedio anuales en cada ciudad.
RStudio también te permite crear visualizaciones flexibles de datos. Puedes
visualizar diferencias entre ciudades de forma efectiva usando funciones de trazado,
como las facetas, que verás más en detalle más adelante.
También puedes usar RStudio para crear automáticamente un archivo de salida con
estadísticas de resumen o, incluso, tus gráficos visualizados para cada grupo.
A medida que aprendas más sobre R y RStudio en este programa, comprenderás más en
detalle cuándo deberías recurrir a RStudio para el análisis de datos.
: Esta página web explica algunas de las razones por las que RStudio es la opción
preferida de muchos analistas para interactuar con R. Conocerás las ventajas de usar
RStudio para el análisis de datos, desde su facilidad de uso hasta la accesibilidad de
los gráficos y mucho más.
Comunidades en línea
Las comunidades en línea sirven para conectarte con otros usuarios de R aunque vivas
lejos. Esta lista incluye foros y canales de debate para unirte a la conversación. También
incluye etiquetas de redes sociales que puedes usar para conectarte con otros analistas de
datos en las plataformas de redes sociales que ya usas.
RStudio Community:
rOpenSci
: rOpenSci tiene un foro comunitario en el que los usuarios de R pueden hacer preguntas
y buscar soluciones. También incluye enlaces a las guías de mejores prácticas y páginas de
soporte.
Twitter #rstats
: Si usas Twitter, puedes conectarte con otros usuarios de R con el hashtag #rstats. Muchos
desarrolladores y analistas que usan R están muy activos en Twitter.
Reuniones
Muchas organizaciones llevan a cabo reuniones en línea o en persona para los usuarios de
R. Recuerda siempre ser cauteloso y prudente al asistir a esas reuniones en persona.
Estas reuniones son perfectas para conocer a otras personas interesadas en el análisis
computacional de datos y para hacer contactos. Estas reuniones se organizan por locación,
así que puedes conectarte con otros analistas de datos de tu zona.
Grupos de usuarios de R:
Reuniones de RLadies:
Conceptos fundamentales de
programación
Funciones
Para repasar rápidamente, las funciones son un cuerpo de
código reutilizable para realizar tareas específicas en R.
Las funciones comienzan con nombres de funciones como <i>print</i> o <i>paste</i> y,
por lo general, van seguidos de uno o más argumentos entre paréntesis.
Un argumento
es información que una función en R necesita para ejecutarse.
Esta es una función simple en acción.
eseas descubrir más sobre la función <i>print</i> o cualquier función, todo lo que
tienes que hacer es escribir un signo de pregunta, el nombre de la función y un paréntesis de
apertura y otro de cierre.
Las funciones son geniales, pero escribir muchos valores puede llevar bastante tiempo.
Para ahorrar tiempo, podemos usar variables para representar los valores.
Esto nos permite señalar los valores cada vez que lo necesitemos con solo la variable.
Una variable
es una representación de un valor en R que puede almacenarse
para su uso posterior durante la programación.
Las variables también pueden llamarse objetos.
Como analista de datos, encontrarás que las variables son muy útiles en el momento de
programar.
omo analista de datos, encontrarás que las variables son muy útiles en el momento de
programar.
Por ejemplo, si quieres filtrar un conjunto de datos,
asigna una variable a la función que usaste para filtrar los datos.
De esa manera, todo lo que tendrás que hacer es usar esa variable para filtrar los datos más
tarde.
Al nombrar una variable en R, puedes usar una frase corta.
El nombre de una variable debe comenzar con una letra y
también puede contener números y guiones bajos.
Por lo tanto, la variable 5penguin no funcionaría bien porque empieza con un número.
al igual que las funciones, los nombres de las variables distinguen mayúsculas y
minúsculas.
Usar todas letras minúsculas es una buena práctica cuando sea posible.
Comentario
Ahora, antes de codificar una variable, agreguemos un comentario.
Los comentarios son útiles cuando quieres describir o
explicar qué pasa en tu código.
Úsalos tanto como sea posible para que tú y
todos puedan comprender el razonamiento detrás del código.
Los comentarios deben usarse para hacer un script de R más legible.
Un comentario no debe tratarse como un código, por lo tanto, pondremos # por delante.
Luego, agregaremos nuestro comentario.
Este es un ejemplo de una variable.
# este es mi coemntario
operador de asignación.
Esto es un operador de asignación.
Asigna el valor a la variable.
Parece una flecha, lo que tiene sentido,
ya que señala desde el valor hacia la variable.
Hay otros operadores de asignación que también funcionan, pero
siempre es bueno usar solo un tipo en tu código.
Luego, agregaremos el valor que nuestra variable representará.
Usaremos el texto, "Esta es mi variable".
Vectores
Vector es un grupo de elementos de datos del mismo
tipo almacenados en una secuencia en R.
Puedes crear un vector usando la función combinada.
En R, esta función es solo la letra c seguida
de los valores que quieres en tu vector dentro de los paréntesis.
Muy bien, creemos un vector.
Imagina que este vector es para datos de medición que necesitamos analizar.
Empezaremos nuestro código con la variable vec_1 para asignar al vector.
vec_1 <- (13, 46.8, 36)
Esta vez, cuando escribimos nuestra variable y presionamos Enter, muestra nuestro vector.
Podemos usar este vector en cualquier lugar en nuestro análisis con solo
su nombre de variable
Una canalización
es una herramienta en R para expresar una secuencia de varias operaciones.
Una canalización está representada por un signo %, seguido de un signo > y otro signo %.
Se usa para aplicar el resultado de una función en otra función.
Las canalizaciones pueden hacer que tu código sea más fácil de leer y comprender.
Por ejemplo, esta canalización filtra y ordena los datos.
Vectores y listas en R
En programación, una estructura de datos es un formato para organizar y almacenar datos.
Es importante que conozcas las estructuras de datos porque las usarás con frecuencia
cuando utilices R para el análisis de datos. Las estructuras de datos más comunes en el
lenguaje de programación R incluyen:
Vectores
Marcos de datos
Matrices
Rangos
Piensa en una estructura de datos como en una casa donde se alojan tus datos.
Existen dos tipos de vectores: vectores atómicos y listas. Luego, aprenderás sobre las
propiedades básicas de los vectores atómicos y las listas, y cómo utilizar el código R para
crearlos.
Vectores atómicos
Primero, repasaremos los diferentes tipos de vectores atómicos. Luego, aprenderás cómo
utilizar el código R para crear, identificar y nombrar a los vectores.
Anteriormente, aprendiste que un vector es un grupo de elementos de datos del mismo tipo
almacenado en una secuencia en R. No puedes tener un vector que contenga valores lógicos
y numéricos.
Existen seis tipos primarios de vectores atómicos: lógicos, enteros, dobles, carácter (que contiene
cadenas), complejos y sin formato. Los dos últimos, complejo y sin formato, no son comunes en el
análisis de datos, de modo que nos vamos a concentrar en los primeros cuatro. Juntos, los
vectores entero y doble son conocidos como vectores numéricos porque ambos contienen
números. Esta tabla resume los cuatro tipos primarios:
Tipo Descripción Ejemplo
Lógico Verdadero/Falso TRUE
Entero Valores enteros positivos y negativos 3
Doble Valores decimales 101.175
Carácter Cadena/valores de carácter “Coding”
Este diagrama ilustra la jerarquía de relaciones entre estos cuatro tipos principales de vectores:
Crear vectores
Una forma de crear un vector es utilizar la función c() (llamada función "combinar"). La
función c() en R combina valores múltiples en un vector. En R, esta función es solo la letra
"c" seguida de los valores que deseas colocar en tu vector, entre paréntesis, separados por
una coma: c(x, y, z, …).
Por ejemplo, puedes utilizar la función c() para almacenar datos numéricos en un vector.
Para crear un vector de números enteros utilizando la función c(), debes colocar una "L"
directamente después de cada número.
Cada vector que creas tendrá dos propiedades clave: tipo y longitud.
Puedes determinar con qué tipo de vector estás trabajando mediante el uso de la función
typeof(). Coloca el código para el vector dentro del paréntesis de la función. Cuando
ejecutes la función, R te dirá de qué tipo es. Por ejemplo:
typeof(c(“a” , “b”))
typeof(c(1L , 3L))
length(x)
#> [1] 3
[Link](x)
En este ejemplo, R arroja un valor de FALSE porque el vector no contiene caracteres, sino
valores lógicos.
y <- c(TRUE, TRUE, FALSE)
[Link](y)
Nombrar vectores
Se puede poner nombre a todos los tipos de vectores. Los nombres son útiles para escribir
códigos legibles y describir objetos en R. Puedes nombrar los elementos de un vector con la
función names(). A modo de ejemplo, asignemos la variable x a un nuevo vector con tres
elementos.
x <- c(1, 3, 5)
Puedes utilizar la función names() para asignar un nombre diferente a cada elemento del
vector.
Ahora bien, cuando ejecutes el código, R mostrará que el primer elemento del vector se
llama a, el segundo b, y el tercero c.
#> a b c
#> 1 3 5
Recuerda que un vector atómico solo puede contener elementos del mismo tipo. Si deseas
almacenar elementos de diferentes tipos en la misma estructura de datos, puedes utilizar
una lista.
Crear listas
Las listas son diferentes de los vectores atómicos porque sus elementos pueden ser de
cualquier tipo, por ejemplo, fechas, marcos de datos, vectores, matrices y más. Las listas
pueden también contener otras listas.
Puedes crear una lista con la función list(). Del mismo modo que la función c(), la función
list() es solo list eguida de los valores que deseas colocar en tu lista entre paréntesis: list(x,
y, z, …). En este ejemplo, creamos una lista que contiene cuatro tipos de elementos
diferentes: carácter ("a"), valor entero (1L), doble (1.5), y lógico (TRUE).
list(list(list(1 , 3, 5)))
Si deseas saber qué tipos de elementos contiene una lista, puedes utilizar la función str().
Para ello, coloca el código para la lista dentro del paréntesis de la función. Cuando ejecutes
la función, R mostrará la estructura de datos de la lista mediante la descripción de sus
elementos y tipos.
Cuando ejecutamos la función, R nos indica que la lista contiene cuatro tipos de elementos
y que esos elementos son de cuatro tipos diferentes: carácter (chr), entero (int), número
(num) y lógico (logi).
#> List of 4
#> $ : int 1
str(z)
#> List of 1
#> $ :List of 1
La sangría de los símbolos $ refleja la estructura anidada de esta lista. Bien, aquí hay tres
niveles (de modo que hay una lista dentro de otra lista).
A las listas, como a los vectores, se les puede colocar un nombre. Puedes nombrar los
elementos de una lista cuando la creas con la función list():
$Chicago
[1] 1
$`New York`
[1] 2
$`Los Angeles`
[1] 3
RECURSO ADICIONAL
Para conocer más sobre vectores y listas, puedes consultar R for Data Science, Chapter 20:
Vectors
. "R for Data Science" es un recurso clásico para aprender cómo utilizar R tanto para la ciencia
como para el análisis de datos. Allí encontrarás todo desde la limpieza hasta la visualización y
comunicación de datos. Si quieres más detalles acerca del tema de los vectores y las listas, este
capítulo es un excelente lugar para comenzar.
Fechas y horas en R
Cargar los paquetes tidyverse y lubridate
Antes de empezar a trabajar con fechas y horas, deberás cargar los paquetes tidyverse y
lubridate. Lubridate es parte de tidyverse.
[Link]("tidyverse")
Luego, carga los paquetes tidyverse y lubridate utilizando la función library(). Primero,
carga los componentes principales de tidyverse para que estén disponibles en tu sesión
actual de R:
library(tidyverse)
library(lubridate)
Tipos
La hora se expresa en UTC, que quiere decir Hora Universal Coordinada, más comúnmente
conocida como tiempo civil. Este es el estándar principal que regula los relojes y la hora
mundial.
Por ejemplo, para obtener la fecha actual puedes ejecutar la función today(). La fecha
aparece como mes, año y día.
today()
Para obtener la fecha-hora actual puedes ejecutar la función now(). Observa que la hora
aparece expresada hasta con los segundos más cercanos.
now()
Los datos de fecha/hora a menudo se expresan como cadenas. Puedes convertir cadenas en
fechas y fecha-hora utilizando las herramientas provistas por lubridate. Estas herramientas
automáticamente trabajan sobre el formato de fecha/hora. Primero, identifica el orden en el
año, el mes y el día que aparecen en tus fechas. Luego, ordena las letras y, m y d (año, mes
y día) en el mismo orden. Eso te dará el nombre de la función lubridate que analizará tu
fecha. Por ejemplo, para la fecha 2021-01-20, utilizarás el orden ymd:
ymd("2021-01-20")
Funciona de la misma forma en cualquier orden. Por ejemplo, mes, día y año. R arroja
como resultado la fecha en el formato yyyy-mm-dd.
dmy("20-Jan-2021")
Estas funciones también toman números que no están entre comillas y los convierte al
formato yyyy-mm-yy.
ymd(20210120)
La función ymd() y sus variantes crean fechas. Para crear una fecha-hora desde una fecha,
agrega un guion bajo y una o más de las letras h, m y s (horas, minutos y segundos) al
nombre de la función:
ymd_hms("2021-01-20 20:11:59")
#> [1] "2021-01-20 20:11:59 UTC"
mdy_hm("01/20/2021 08:01")
Para finalizar, quizás quieras cambiar entre una fecha-hora y una fecha.
Puedes utilizar la función as_date() para convertir una fecha-hora en una fecha. Por
ejemplo, escribe la fecha-hora actual en el paréntesis de la función now().
as_date(now())
Recursos adicionales
Para saber más acerca del trabajo con fechas y horas en R, revisa los siguientes recursos:
[Link]
: Esta es la entrada "lubridate" de la documentación oficial de tidyverse, que ofrece una guía de
referencia completa sobre los diferentes paquetes tidyverse. Revisa este enlace para obtener un
panorama de la principales funciones y conceptos.
Fechas y horas con lubridate: Hoja de referencia: Esta "hoja de referencia" te brinda un mapa
detallado de todas las cosas diferentes que puedes hacer con el paquete lubridate. No necesitas
conocer toda esta información, pero la hoja de referencia es una referencia útil para toda
pregunta que pudieras tener sobre cómo trabajar con fechas y horas en R.
Marcos de datos
Los marcos de datos son la manera más común de almacenar y analizar datos en R, de
modo que es importante comprender qué son y cómo se crean. Un marco de datos es un
conjunto de columnas que contienen datos, que es similar a una hoja de cálculo o una tabla
SQL. Cada columna tiene un nombre en la parte superior que representa una variable e
incluye una observación por fila. Los marcos de datos ayudan a resumir los datos y
ponerlos en un formato fácil de leer y usar.
Hay pocas cosas importantes para tener en cuenta cuando trabajas con marcos de datos:
Primero, se debe poner un nombre a las columnas.
Segundo, los marcos de datos incluyen muchos tipos diferentes de datos, por
ejemplo, números, valores lógicos o caracteres.
Finalmente, los elementos en la misma columna deben ser de un mismo tipo.
Conocerás más acerca de los marcos de datos más adelante en el programa, pero este es un
gran punto de partida.
Archivos
Para más información sobre cómo trabajar con archivos en R,
Utiliza la función [Link] para crear una nueva carpeta o directorio, o para guardar tus
archivos. Escribe el nombre de la carpeta en el paréntesis de la función.
[Link] ("destination_folder")
Utiliza la función [Link]() para crear un archivo en blanco. Escribe el nombre y tipo de
archivo entre paréntesis en la función. En general, tus tipos de archivos serán .txt, .docx
o .csv.
[Link] (“new_text_file.txt”)
[Link] (“new_word_file.docx”)
[Link] (“new_csv_file.csv”)
[Link] (“new_csv_file.csv”)
[1] TRUE
Si te fijas en el panel de Archivos en RStudio, aparece una copia del archivo en la carpeta
correspondiente:
unlink (“some_.[Link]”)
Optativo: Matrices
Una matriz es un conjunto bidimensional de elementos de datos. Esto significa que tiene
filas y columnas. Por el contrario, un vector es una secuencia unidimensional de elementos
de datos. Pero como los vectores, las matrices pueden solo contener un único tipo de datos.
Por ejemplo, no puedes tener tanto valores lógicos como numéricos en una matriz.
Para crear una matriz en R, puedes utilizar la función matrix(). La función matrix() tiene
dos argumentos principales que debes escribir dentro del paréntesis. Primero, agrega un
vector. El vector contiene los valores que quieres colocar en la matriz. Luego, agrega al
menos una dimensión de matriz. Puedes elegir especificar el número de filas o columnas
utilizando el código nrow = para las filas o ncol =. para las columnas.
Por ejemplo, imagina que quieres crear una matriz de 2x3 (dos filas por tres columnas) que
contenga los valores 3-8. Primero, escribe un vector que contenga la serie de números:
c(3:8). Luego, escribe una coma. Al finalizar, escribe nrow = 2 para especificar el número
de filas.
matrix(c(3:8), nrow = 2)
Si ejecutas la función, R muestra una matriz con tres columnas y dos filas (a las que, en
general, nos referimos como "2x3") que contienen los valores numéricos 3, 4, 5, 6, 7, 8. R
coloca el primer valor (3) del vector en la fila superior y la fila de la izquierda de la matriz,
y continúa la secuencia de izquierda a derecha.
[1,] 3 5 7
[2,] 4 6 8
También puedes elegir especificar el número de columnas (ncol = ) en lugar del número de
filas (nrow = ).
matrix(c(3:8), ncol = 2)
[,1] [,2]
[1,] 3 6
[2,] 4 7
[3,] 5 8
Operaciones y cálculos
En R, hay cuatro tipos principales de operadores:
1. Aritméticos
2. Relacionales
3. Lógicos
4. De asignación
Repasa los operadores específicos de cada categoría y ve algunos ejemplos de cómo usarlos
en código R.
los operadores,
los definimos como un símbolo que designa el tipo de
operación o cálculo a realizar en una fórmula.
Esto sucede cuando usamos operadores en código R.
Así que veamos algunos de estos operadores
Consulta el artículo sobre los Operadores de R en el sitio web de R Coder para obtener una guía
completa de los diferentes tipos de operadores en R. El artículo incluye muchos ejemplos de
codificación útiles e información sobre operadores diversos, el operador infijo y el operador de
tubería.
Operadores de asignación
se usan para asignar
valores a las variables y los vectores.
Si tenemos un conjunto de
cifras de ventas que queremos incluir en un vector,
podemos usar un operador de asignación
para asignarlas a una variable.
La tabla a continuación resume los seis operadores relacionales en R. Los ejemplos usados
en la tabla se basan en la creación de dos variables: : x es igual a 2 e y es igual a 5. Ten en
cuenta que usas el operador de asignación para almacenar estos valores.
x <- 2
y <- 5
Si se realizan cálculos con cada operador, se obtienen los siguientes resultados. En este
caso, el archivo de salida es booleano: TRUE o FALSE. Ten en cuenta que el [1] que
aparece antes de cada resultado se usa para representar cómo se muestra el resultado en
RStudio
operadores aritméticos.
+,-,*,/
mitaddeaño_ventas >- wdsdw+wdsdw
La siguiente tabla resume los diferentes operadores aritméticos en R. Los ejemplos usados
en la tabla se basan en la creación de dos variables: : x es igual a 2 e y es igual a 5. Ten en
cuenta que usas el operador de asignación para almacenar estos valores:
x <- 2
y <- 5
Código de
Operador Descripción Resultado/Salida
ejemplo
+ Suma x+y [1] 7
- Resta x-y [1] -3
* Multiplicación x*y [1] 10
/ División x/y [1] 0.4
Módulo (devuelve el resto después de la
%% y %% x [1] 1
división)
División de enteros (devuelve un valor
%/% y%/% x [1] 2
entero después de la división)
^ Exponente y^x [1]25
Los operadores lógicos arrojan un tipo de dato lógico, por ejemplo, TRUE o FALSE.
Operador Descripción
& Lógico de elemento inteligente AND
&& Lógico AND
| Lógico de elemento inteligente OR
|| Lógico OR
! Lógico NOT
El operador AND (“&”)
Puedes ilustrar los operadores lógicos AND (&) y OR (|) comparando valores numéricos.
Por ejemplo, creemos una variable x igual a 10.
x <- 10
El operador AND devuelve TRUE solo si ambos valores individuales son TRUE.
[1] TRUE
10 es mayor que 2 y 10 es menor que 12. Por lo tanto, la operación se evalúa como TRUE.
El operador AND requiere de dos valores lógicos. El resultado es TRUE si cada uno
de los valores por separado es TRUE. Esto significa que TRUE & TRUE dan como
resultado TRUE. Sin embargo, FALSE & TRUE, TRUE & FALSE y FALSE &
FALSE arrojan como resultado FALSE.
Si ejecutas el código correspondiente en R, obtienes los siguientes resultados >
TRUE & TRUE [1] TRUE > TRUE & FALSE [1] FALSE > FALSE & TRUE [1]
FALSE > FALSE & FALSE [1] FALSE Es posible ilustrar esto mediante el uso de
los resultados de nuestras comparaciones. Imagina que creas una variable x que es
igual a 10. x <- 10 Para revisar si x es mayor que 3 pero menor que 12, puedes
utilizar x > 3 & x < 12 Cuando ejecutas la función, R arroja el resultado TRUE. [1]
TRUE TRUE La primera parte, x > 3 dará como resultado TRUE ya que 10 es
mayor que 3. La segunda parte, x < 12 también dará como resultado TRUE a que
10 es menor que 12. Como ambos valores dan TRUE, el resultado de la expresión
AND es TRUE. El número 10 se ubica entre los números 3 y 12. Sin embargo, si x
es igual a 20, la expresión x > 3 & x < 12 arrojará un resultado diferente. x <- 20 x
> 3 & x < 12 [1] FALSE Aunque x > 3 es TRUE (20 > 3), x < 12 es FALSE (20 <
12). entonces, toda la expresión dará como resultado FALSE (TRUE & FALSE =
FALSE). De modo que el resultado de R será FALSE.
Operador OR (“|”)
El operador OR (|) trabaja de un modo similar que el operador AND (&). La diferencia
principal consiste en que solo uno de los valores de la operación OR deber ser TRUE para
que toda la operación OR dé como resultado TRUE. solo si ambos valores son FALSE, la
operación OR completa resultará ser FALSE.
x>2|x<8
[1] TRUE
10 es mayor que 2, pero 10 no es menor que 8. Sin embargo, como al menos uno de los
valores (10>2) es TRUE, la operación OR se evalúa como TRUE.
[1] TRUE
[1] TRUE
[1] TRUE
[1] FALSE
[1] FALSE
La operación NOT evalúa a FALSE porque toma el valor lógico opuesto a la instrucción x
< 15, que es TRUE (10 es menor que 15).
El operador NOT (!) simplemente niega el valor lógico al que se aplica. En otras
palabras, !TRUE da FALSE y !FALSE da TRUE.
Cuando ejecutas el código, obtienes lo siguiente: > !TRUE [1] FALSE > !FALSE
[1] TRUE Igual que en el caso de los operadores OR y AND, puedes utilizar el
operador NOT en combinación con los operadores lógicos. Cero se considera
FALSE y los números que no son cero se consideran TRUE. El operador NOT da
como resultado el valor lógico opuesto.
x <- 2
El operador NOT da como resultado FALSE porque toma el valor lógico opuesto de un
número que no es cero (TRUE).
Ejemplo
conjunto de datos airquality que fue precargado en RStudio. Contiene datos sobre las mediciones
de la calidad del aire en Nueva York desde mayo hasta septiembre de 1973.
Imagina que quieres especificar las filas que son extremadamente soleadas y ventosas, que
defines como con una medición Solar de más de 150 y una medición de Wind de más de
10.
En R, puedes expresar esta instrucción lógica como Solar.R > 150 & Wind > 10.
Solo las filas donde ambas condiciones son verdaderas cumplen con los criterios:
Luego, imagina que quieres especificar las filas que son extremadamente soleadas o
ventosas, que defines como con una medición Solar de más de 150 y una medición de
Wind de más de 10.
En R, puedes expresar esta instrucción lógica como Solar.R > 150 | Wind > 10.
Ejemplo del operador NOT
Ahora, imagina que quieres concentrarte en las mediciones del clima por días que no son el
primer día del mes.
Ejemplo Integrado
Instrucciones condicionales
if()
else()
else if()
instrucción if
if (condition) {
expr
x <- 4
if (x > 0) {
Dado que x=4, la condición es verdadera (4 > 0). Por lo tanto, cuando ejecutas el código, R
imprime la cadena "x es un número positivo".
instrucción else
La instrucción else se utiliza en combinación con una instrucción if. Así se estructura el
código en R:
if (condition) {
expr1
} else {
expr2
}
x <- 7
En nuestro código, la primera condición (x > 0) será parte de la instrucción if. La segunda
condición de x menor que o igual a 0 queda implícita en la instrucción else. Si x > 0, R
imprimirá "x es un número positivo". De otro modo, R imprimirá "x es un número negativo
o cero".
x <- 7
if (x > 0) {
} else {
Pero si haces que x sea igual a -7, la condición de la instrucción if no será verdadera (-7 no
es mayor que 0). Por lo tanto, R ejecutará el código en la instrucción else. Cuando ejecutas
el código, R imprime "x es un número negativo o cero".
x <- -7
if (x > 0) {
print("x is a positive number")
} else {
instrucción else if
if (condition1) {
expr1
} else if (condition2) {
expr2
} else {
expr3
En nuestro ejemplo anterior, utilizando solo las instrucciones if y else, R puede solo
imprimir "x es un número negativo o cero" si x es igual a 0 o x es menor que 0. Imagina
que quieres que R imprima la cadena "X es cero" si x es igual a 0. Necesitas agregar otra
condición utilizando la instrucción else if.
En el código, la primera condición será parte de la instrucción if, la segunda condición será
parte de la instrucción else if y la tercera condición será parte de la instrucción else. Si x <
0, R imprimirá "x es un número negativo". Si x = 0, R imprimirá "x es cero". De otro modo,
R imprimirá "x es un número positivo".
x <- -1
if (x < 0) {
} else if (x == 0) {
print("x es cero")
} else {
Si haces que x sea igual a 1, ambas condiciones, if y else, arrojarán como resultado FALSE.
De modo que R ejecutará la instrucción else e imprimirá "x es un número positivo".
Tan pronto como R descubre una condición que resulta TRUE, R ejecuta el código
correspondiente e ignora el resto.
Recurso adicional
Para saber más acerca de las operaciones lógicas y las instrucciones condicionales, consulta
el tutorial de DataCamp Condicionales y flujo de control en R
Sabrás que se completó el proceso cuando aparezca de nuevo el cursor en la parte inferior de la
consola.
símbolo >
Este es el símbolo del sistema, y cualquier cosa que escribas después será interpretado
como un código R ejecutable cuando presiones Enter (Windows) o Return (Mac).
Recuerda que todo lo que escribas en la consola de R desaparecerá cuando cierres sesión (o
cierres la consola). Si quieres guardar el código que ejecutaste, es mejor guardarlo en un
archivo de texto o en un .rmd (conocerás más sobre este tipo de formato en futuras
lecciones).
Usar todas letras minúsculas es una buena práctica cuando sea posible.
R.
[Link]("tidiverse")
R.
biblioteca (diviverso)
-
Una función común que puede utilizar para previsualizar los datos es la
función "head() , que muestra las columnas y las primeras varias filas de
datos. Usted puede probar cómo funciona la función de la cabeza
ejecutando el pedazo a continuación:
head(diamonds)
str(diamonds)
glimpse(diamonds)
colnames(diamonds)
Otra función útil para resumir tus datos es la desmérjicate de que puedas
usarlos para generar una amplia gama de estadísticas resumidas de tus
datos. Por ejemplo, si quisieras saber cuál era el medio para el "carat"
en este conjunto de datos, podrías ejecutar el código en la parte
siguiente:
Estas funciones son una gran manera de familiarizarse más con sus datos y
empezar a hacer observaciones al respecto. Pero a veces, previsualizar
tablas no es suficiente para entender un conjunto de datos.
Afortunadamente, la red tiene herramientas de visualización incorporadas.
Paso 5: Documentación
Conceptos básicos de R
Función
Argumento
Comentario
Variable
Atributo que describe cierto dato según sus valores, el lenguaje de programación o las
operaciones que puede realizar
Vector
Grupo de elementos de datos del mismo tipo almacenados en una secuencia unidimensional
en R
Canalización
Herramienta en R para expresar una secuencia de varias operaciones, representadas por %>
%
Paquetes de R
Estos paquetes son unidades de código R reproducible y
hacen que sea más fácil hacer un seguimiento del código.
Fueron creados por miembros de la comunidad R para hacer un seguimiento de las
funciones R
que ellos escriben y vuelven a usar.
Estos miembros de la comunidad podrían poner los paquetes a disposición de otros
usuarios.
Es una de las cosas maravillosas de formar parte de esta comunidad.
También observarás una lista de paquetes en la parte inferior derecha de nuestro espacio de
trabajo.
Esta lista incluye una breve descripción de cada paquete.
Para cargar el paquete <i>class</i> y otros paquetes no instalados, deberemos usar
la función <i>library</i> seguida del nombre del paquete.
Y ahora el paquete <i>class</i> tiene una marca de verificación junto a él, por lo tanto,
ha sido cargado con éxito para su uso.
Información de los paquetes
Si deseas aprender incluso más sobre tus paquetes cargados,
puedes hacer clic en sus nombres en la pestaña paquetes.
Esto abre la pestaña Ayuda y muestra temas relacionados con el paquete que seleccionaste.
También puedes usar la función <i>help</i> en tu programación para llamar a la pestaña
Ayuda.
Puedes usar todas las funciones de ese paquete tan pronto como abras RStudio.
Si encuentras la palabra "recommended", entonces el paquete está instalado, pero no
cargado.
Paquetes R disponibles
Los paquetes se pueden encontrar en repositorios, que son colecciones de paquetes útiles listos
para instalar. Puedes encontrar repositorios en Bioconductor, R-Forge, rOpenSci o GitHub, pero el
repositorio más utilizado es la Red general de archivos R o CRAN
Los paquetes no incluyen solo el código, sino también documentación con información
sobre el autor del paquete, su función y sobre otros paquetes que deberás descargar. Cuando
utilizas CRAN, puedes encontrar el paquete de documentación en el archivo descriptivo
DESCRIPTION.
Con tantos paquetes dando vueltas, puede ser difícil saber cuáles serán los más útiles para
tu biblioteca o directorio de paquetes instalados. Afortunadamente, existen excelentes
recursos disponibles.
Tidyverse
: Este es un índice de los paquetes CRAN ordenados por tarea. Puedes buscar el tipo de tarea que
necesitas realizar y te traerá una página con paquetes relacionados con la tarea para que
explores.
Paquete tidyverse
Tidyverse es, en realidad, una colección de paquetes en R con una filosofía de diseño
común para la manipulación, exploración y visualización de datos.
Usar tidyverse puede ayudarte a trabajar a tu manera durante gran parte
de todo el proceso de análisis de datos.
Los paquetes en tidyverse trabajan juntos de manera natural.
CRAN y GitHub
CRAN es un archivo que normalmente se usa en línea con paquetes de R y otros recursos
de R. CRAN garantiza que los recursos de R que comparte cumplan con los estándares de
calidad requeridos y que sean auténticos y válidos.
Ya que los paquetes que no están en Base R en su mayoría son creados por usuarios de R,
la gente necesita una manera confiable de revisar y validar el código enviado.
CRAN se asegura de que cualquier contenido en R abierto al público cumpla con
los estándares de calidad requeridos.
Por lo tanto, si proviene de CRAN,
puedes sentirte bien sabiendo que el paquete es auténtico y válido.
Otra fuente importante de paquetes y otro contenido de R es GitHub.
Instalar Paqeutes
Paso 1
Para instalar paquetes como tidyverse que no están en Base R,
usaremos la función <i>install packages</i>.
Como vimos anteriormente, esta función llama a tidyverse y
a otros paquetes de CRAN.
Paso 2
Cuando hacemos clic en nuestra pestaña paquetes, nos encontramos con muchos paquetes
nuevos en la lista.
Eso es tidyverse.
Posiblemente hayas observado que ninguno de los paquetes está marcado.
Necesitaremos cargarlos primero antes de que podamos usarlos.
Pero esa es una lista muy larga.
Por lo tanto, carguemos el paquete llamado tidyverse
ahora usando la función <i>library</i>.
Tabla Resultado
El resultado muestra que no solo se cargó el paquete tidyverse,
sino también ocho paquetes más.
También muestra una lista de conflictos.
Los conflictos suceden cuando los paquetes tienen funciones con los mismos nombres que
otras
funciones.
Básicamente, el último paquete cargado es aquel cuyas funciones se usarán,
por lo que usaremos las funciones de tidyverse.
Pero es importante tener en cuenta que estos mensajes solo aparecen una vez.
A medida que te vayas acostumbrando a R,
podrás averiguar si deseas usar ciertas funciones por sobre otras.
Los paquetes cargados son ggplot2,
tibble, tidyr, readr, purrr,
dplyr, stringr y forcats.
Estos paquetes son el núcleo de tidyverse
porque los usarás en casi cada análisis.
.
Con estos paquetes, tidyverse te ayuda a hacer todo, desde importar y
transformar datos hasta explorar y visualizarlos.
Echaremos un vistazo a este núcleo de paquetes pronto, y
los usaremos incluso más a medida que continuemos trabajando en RStudio.
Error y Ayuda
Tidyr es un paquete que se usa para limpieza de datos para generar datos ordenados.
Tidyr funciona con datos en formato ancho y datos en formato largo para asegurarse de que
esto funciona.
readr, que se usa para importar datos.
La función más común de readr es read_csv.
Esto importará un archivo CSV en R.
Un archivo CSV contiene datos separados por comas en un formato de tablas.
Para leer correctamente un conjunto de datos con readr,
combinas la función con una especificación de columna.
La especificación de columna describe cómo debería cada columna
convertirse en el tipo de datos más apropiado.
Es bueno tener en cuenta que, en general, esto no es necesario porque readr
lo averiguaría por ti automáticamente.
dplyr.
ofrece un conjunto consistente de funciones que te ayudan
a completar algunas tareas comunes de manipulación de datos.
Por ejemplo, la función <i>select</i>, escoge variables según sus nombres,
y la función <i>filter</i> encuentra casos donde determinadas condiciones son ciertas.
Stringr incluye funciones que hacen que sea más fácil trabajar con cadenas.
anidado (Nested)
Anidado describe código que realiza
una función particular y está
incluido dentro del código que realiza una función más amplia.
Ejemplo
Supongamos que tenemos datos de ventas y
necesitas encontrar la media o el promedio.
Puedes crear una canalización accediendo a
los datos y luego
agrupándolos y
resumiendo los datos agrupados mediante una función <i>mean</i>.
Veamos un ejemplo.
Primero, abriremos RStudio.
Luego, empezaremos con un nuevo script para que podamos guardar nuestro trabajo.
Lo guardaremos como
exploración ToothGrowth.
Usaremos un conjunto de datos ToothGrowth,
que ya está instalado en
R. Este conjunto de datos contiene datos
sobre el efecto de la vitamina C
en el crecimiento de los dientes de los cerdos de guinea.
Es un conjunto de datos conocido
que nos ayuda a aprender sobre cómo funcionan las canalizaciones.
Para cargar cualquier conjunto de datos ya instalado,
usamos la función <i>data</i>.
Luego, agregamos el nombre del conjunto de datos, ToothGrowth.
Ahora los datos están cargados,
podemos revisarlos con la función <i>View</i>.
Observa cómo <i>View</i> comienza con una V
mayúscula.
data(ToothGrowth)
> View(ToothGrowth)
Paso 1:
necesitamos filtrar y
ordenar estos datos para organizarlos para un análisis.
Sin canalizaciones, podríamos hacer esto
anidando los comandos o creando una secuencia de marcos de datos.
Hablaremos más sobre los marcos de datos pronto.
Empecemos por filtrar el conjunto de datos.
Ten en cuenta que primero queremos
instalar y cargar la función de filtro correcta,
que viene como parte del paquete.
Instalar un paquete puede llevar unos minutos.
Esta función viene como parte del paquete dplyr.
Asignarás un nombre al
nuevo conjunto de datos y luego la función <i>filter</i>.
arrange(ToothGrowth,len)
Los datos se organizan en orden ascendente por <i>len</i>.
El resultado solo muestra filas
donde la cantidad de dosis es 0.5.
arrange(filter(ToothGrowth,doose=0.5),len)
Filter(dose==0.5) %>%
arrange(len)
Filter(dose==0.5) %>%
arrange(len)
viene después
de la función <i>summarize</i> parece bastante complejo,
pero básicamente le indica a R qué
hacer con los valores faltantes y para
asegurarse que los datos sean agrupados correctamente
cuando agregamos la función <i>summarize</i>.
Ahora, ejecutaremos nuestra nueva canalización y tendremos la longitud promedio del
diente cuando la dosis es igual a
0.5 para cada uno de nuestros suplementos.
Canalizaciones
agregar
el operador de canalización al final de
cada línea de la operación canalizada,
excepto la última.
Posit
: El mejor lugar para encontrar ayuda con R es el propio R. Puedes escribir ‘?’ o el
comando help() para buscar en R. También puedes abrir el panel de ayuda para encontrar
más recursos.
Blog de Posit:
El blog de Posit es un excelente lugar para encontrar información sobre Posit, incluyendo las
novedades de la empresa. Puedes leer las publicaciones destacadas
Stack Overflow:
R-Bloggers:
El blog R-bloggers cuenta con tutoriales útiles y artículos con noticias publicados por
otros usuarios de R en la comunidad.
Este blog R-Bloggers compila algunos tutoriales básicos de R y también tiene enlaces a guías más
avanzadas.
un aspecto importante de
la legibilidad es que si estás repasando
tu código y te das cuenta de que
escribiste lo mismo varias veces,
o si estás usando la misma lógica o algoritmo muchas veces,
ese es un momento donde realmente puedes
consolidar tu código y hacerlo más conciso,
lo cual ayuda mucho a la legibilidad,
y también a cualquier persona
que se acerca y trata de leer tu código;
eso te demandará de aquí a dos semanas.
.
Porque te aseguro que cuando empieces a codificar,
lo que tiene sentido ahora para ti
puede no tenerlo de acá a tres semanas.
Utilizar comentarios.
Los comentarios son una forma de escribir
algo en un lenguaje estandarizado, como el inglés,
y una forma en que alguien pueda entenderlo,
pero que la computadora no lo reconozca como un código real.
Así que, explicar cada línea que escribas
o explicar una sección completa de tu código en
un comentario le permite a otra persona
leer tu código y
saber exactamente qué estás tratando
de lograr con el código que has escrito.
La documentación explicará en
profundidad qué es lo que exactamente trata de hacer tu código,
por qué fue creado,
cuál es su propósito y sus limitaciones.
Este último concepto es un poco difícil de
comprender mientras encaras por primera
vez el aprendizaje de un lenguaje de codificación
y tratas de crearlo para que permita la escalabilidad a la vez que le otorgas dinamismo.
Bueno, cuando digo crear algo que admita
escalabilidad, lo que quiero decir es,
si estás creando un script de código
específico para resolver una tarea en la que estés trabajando en este momento,
querrás asegurarte y responder
la siguiente pregunta: ¿Este código será
o podrá ser utilizado
en el futuro para algo más?
nombrar variables en R
Comienza con una letra: Las variables deben comenzar con una letra, no con un
número o un carácter especial.
Usa letras minúsculas: Es una buena práctica usar letras minúsculas para los
nombres de las variables.
Evita los espacios: No uses espacios en los nombres de las variables. En su lugar,
usa guiones bajos o puntos.
Haz que sean descriptivos: Los nombres de las variables deben describir
claramente el contenido de la variable.
Evita las palabras reservadas: No uses palabras reservadas de R como nombres de
variables.
PREGUNTAS SEMANA 2
Marcos de datos de R
Un marco de datos es un conjunto de columnas.
Se parece mucho a una hoja de cálculo o una tabla de SQL.
Aquí hay un ejemplo de un marco de datos en R.
Se parece mucho a otras tablas con las que hemos trabajado a lo largo de este programa.
Hay nombres de columnas y filas y celdas con datos.
Las columnas contienen una variable, y
las filas tienen un conjunto de valores que coinciden con cada columna.
Usamos los marcos de datos para muchas de las mismas razones por las que usamos las
tablas.
Ayudan a resumir los datos y ponerlos en un formato que sea fácil de leer y usar.
Hay que conocer algunas cosas sobre los marcos de datos antes de trabajar con ello.
los tibbles
son como marcos de datos optimizados.
Facilitan el manejo con los datos, pero
difieren un poco de los marcos de datos estándar.
Primero, los tibbles nunca cambian los tipos de datos de las entradas.
No cambiarán tus cadenas a factores ni a ninguna otra cosa.
Puedes hacer más cambios en los marcos de datos básicos, pero los tibbles son más fáciles
de usar.
Esto ahorra tiempo porque ya no tendrás que hacer tanta limpieza o
cambiar los tipos de datos en tibbles.
Además, los tibbles nunca cambian los nombres de tus variables, y
nunca crean nombres de filas.
Hay 10 columnas y 100 filas en este marco de datos, pero
tal vez no queramos verlos todos.
Podemos usar la función <i>head</i> para que nos muestre solo las primeras seis filas.
Esta es una buena vista previa de todo el conjunto de datos.
Imprimir accidentalmente todo el marco de datos a la consola puede ser molesto y
llevar mucho tiempo para completar la operación.
Puedes evitar imprimir el marco de datos completo usando funciones como <i>head</i>
para
obtener una vista previa rápida.
También podemos obtener la estructura del marco de datos con funciones como
<i>str()</i> y <i>colnames()</i>.
Código manejado
[Link]("tidyverse")
library(ggplot2)
data("diamonds")
View(diamonds)
head(diamonds)
str(diamonds)
colnames(diamonds)
library(tidyverse)
mutate(diamonds, carat_2=carat*100)
Creación de tibbles
Ahora, vamos a ver un ejemplo de cómo crear un tibble en R. Puedes usar el conjunto de
datos sobre diamantes llamado diamonds precargado y con el cual estás familiarizado de
los vídeos anteriores. Como recordatorio, el conjunto de datos diamonds incluye
información sobre diferentes cualidades de los diamantes, como quilates, corte, color,
claridad, etc.
Puedes cargar el conjunto de datos con la función data() usando el siguiente código:
library(tidyverse)
data(diamonds)
A continuación, vamos a agregar el marco de datos a nuestro visor de datos en RStudio con
la función View().
View(diamonds)
Ahora vamos a crear un tibble a partir del mismo conjunto de datos. Puedes crear un tibble
a partir de datos existentes con la función as_tibble(). Indica los datos que deseas usar en el
paréntesis de la función. En este caso, escribirás la palabra "diamonds".
as_tibble(diamonds)
Resultados
Para más información sobre los tibbles, consulta los siguientes recursos:
El capítulo Tidy
en "A Tidyverse Cookbook" es un gran recurso si quieres aprender más sobre cómo trabajar con
tibbles usando el código R. El capítulo explora una variedad de funciones de R que pueden
ayudarte a crear y transformar tibbles para organizar y ordenar tus datos.
GuíaGuardada-Conceptos básicos de la
importación de datos
La función data()
Ahora que el conjunto de datos está cargado, puedes obtener una vista previa del mismo en
el panel de la consola de R. Solo tienes que escribir su nombre...
mtcars
Funciones readr
Para enumerar los archivos de muestra, puedes ejecutar la función readr_example() sin
argumentos.
readr_example()
Importar DATOS
Leer un archivo csv
Recursos adicionales
Si quieres aprender a usar las funciones de readr para trabajar con archivos más complejos,
consulta el capítulo Importación de datos en R
del libro Ciencia de análisis de datos. Explora algunos de los problemas comunes
que puedes encontrar al leer archivos, y cómo usar readr para solucionarlos.
La entrada de readxl
para obtener una lista. La lista incluye enlaces a descripciones detalladas de cada conjunto de
datos.
marco de datos
tres fuentes comunes para los datos:
- Un `paquete` con datos al que se puede acceder cargando ese `paquete`
- Un archivo externo como una hoja de cálculo o CSV que puede importarse
a `R`
- Datos generados desde cero usando código `R`
```{r}
names <- c("", "", "", "")
```{r}
age <- c(, , , )
Con estos dos vectores, puedes crear un nuevo marco de datos llamado
`people`:
```{r}
people <- [Link](names, age)
Una función común que puedes usar para previsualizar los datos es la
función `head()`, que muestra las columnas y las primeras filas de
datos. Puedes ver cómo funciona la función `head()` ejecutando el
bloque que aparece a continuación:
```{r}
head(people)
names age
1 Carlos 23
2 Alberto 45
3 Laura 43
4 Paola 76
```{r}
str(people)
```
[Link]': 4 obs. of 2 variables:
$ names: chr "Carlos" "Alberto" "Laura" "Paola"
$ age : num 23 45 43 76
```{r}
glimpse(people)
Rows: 4
Columns: 2
$ names <chr> "Carlos", "Alberto",…
$ age <dbl> 23, 45, 43, 76
También puedes usar `colnames()` para obtener una lista de los nombres
de las columnas en tu conjunto de datos. Ejecuta el bloque de código que
aparece debajo para ver esta función:
```{r}
colnames(people)
[1] "names" "age"
Ahora que tienes un marco de datos, puedes trabajar con él usando todas
las herramientas en `R`. Por ejemplo, podrÃas usar mutate()` si quisieras
crear una nueva variable que capte la edad de cada persona en 20 años.
El bloque de código que aparece a continuación crea esa nueva variable:
```{r}
mutate(people, age_in_20 = age + 20)
```{r}
[Link]("tidyverse")
```
```{r}
library(tidyverse)
```{r}
bookings_df <- read_csv("hotel_bookings.csv")
```
Ahora que tienes el `bookings_df`, puedes trabajar con él usando todas
las funciones `R` que aprendiste hasta ahora.
```{r}
head(bookings_df)
```
```{r}
colnames(bookings_df)
```
```{r}
new_df <- select(bookings_df, `adr`, adults)
```
```{r}
mutate(new_df, total = `adr` / adults)
```
Paso 4: Importar tus propios datos
¡Ahora puedes encontrar tu propio .csv para importar! Usando la interfaz
de RStudio Cloud, importa y guarda el archivo en la misma carpeta que
este documento de R Markdown. Luego, escribe el código en el bloque que
aparece debajo para leer esos datos en `R`:
```{r}
own_df <- read_csv("<[Link]>")
Limpieza con lo básico
paquete Here.
Este paquete facilita la consulta de los archivos.
Para instalarlo, simplemente escribiremos [Link].
Luego entre paréntesis,
pondremos Here y RStudio lo instalará.
Después de instalarlo,
también tendremos que cargarlo usando la biblioteca
Instala dplyr
Instalar Datos Pinguinos:
Skim_without_charts
nos ofrece
un buen resumen completo
de un conjunto de datos.
> skimr::skim_without_charts(penguins)
…
Glimpse
función <i>Head</i>
para obtener una vista previa de
los nombres de las columnas y las primeras filas de este conjunto de datos.
Tener los nombres de las columnas resumidos así
facilitará la limpieza de los datos.
penguins %>%
select(-species)
función <i>rename</i>
facilita el cambio de los nombres de las columnas.
Empecemos con los datos de los pingüinos,
escribiremos <i>rename</i> y cambiará el nombre
de nuestra columna <i>isla</i> a<i> island_new</i>.
rename_with(penguins,toupper)
rename_with(penguins,tolower)
tolower
toupper
Example
Sí
Recursos adicionales
Estos recursos incluyen más información sobre algunas de las normas de nomenclatura de
archivos que se analizan aquí, y proporcionan información adicional sobre las mejores
prácticas.
: Este recurso de Speaker Deck es una visión lúdica de la denominación de los archivos.
Incluye varias diapositivas con consejos y ejemplos sobre cómo nombrar con precisión
muchos tipos de archivos diferentes. Aprenderás por qué los nombres de los archivos deben
ser legibles tanto para la máquina como para el ser humano.
: Este recurso de la Biblioteca de la Universidad de Princeton ofrece una lista fácil de consultar de
las mejores prácticas, consideraciones y ejemplos para desarrollar convenciones de nombres de
archivos.
Se guiremos trabajando con los datos de los pingüinos de Palmer que ya hemos usado.
función <i>arrange</i>
para elegir
mediante qué variable queremos ordenar, por
ejemplo, digamos que quieres ordenar los datos de los pingüinos por longitud
del pico. Escribiremos un rango y el nombre de la columna.
Y cuando ejecutemos este comando arrojará un tibble con datos
ordenados por longitudes de picos.
Actualmente, está en orden ascendente.
Si quieres ordenarlo en orden descendente solo agrega un signo menos antes del nombre de
la columna.
Función view
. Para guardarlos como marco de datos, empezaremos por nombrarlos.
Luego, ingresaremos la función que usamos para ordenar la versión anterior de
los datos de los pingüinos.
Cuando ejecutemos esto, se guardará un nuevo marco de datos y
podemos usar <i>view penguins2 </i> para agregarlo a nuestros datos.
Esto te permite guardar datos limpios sin perder información del conjunto de datos
original
penguins2 <- penguins %>% arrange(-bill_length_mm)
También podemos obtener otros resúmenes, por ejemplo, si queremos conocer la longitud
máxima
del pico, podemos escribir una función similar y reemplazar <i>mean </i>por <i>max</i>.
función <i>filter</i>.
Por último, podemos filtrar los resultados con la función <i>filter</i>.
Supongamos que solo queremos datos sobre los pingüinos Adelia.
Empezaremos con el conjunto de datos que estamos usando y, luego, agregaremos el filtro.
penguins %>% filter(species == "Adelie")
Como habrás notado, estamos usando dos signos igual aquí; eso es adrede.
El signo igual significa exactamente igual a en R. Y
ahora tenemos un marco de datos que solo contiene datos sobre pingüinos Adelia.
Esto nos permite acotar nuestro análisis si lo necesitamos.
Poder limpiar y organizar los datos es un paso fundamental en el proceso de análisis de
datos
y conocer la herramienta correcta para hacerlo es una habilidad importante del analista de
datos.
Limpiar datos en R
[Link]("tidyverse")
[Link]("skimr")
[Link]("janitor")
```
library(tidyverse)
library(skimr)
library(janitor)
head(bookings_df)
```
str(bookings_df)
glimpse(bookings_df)
colnames(bookings_df)
skim_without_charts(bookings_df)
```{r}
trimmed_df <- bookings_df %>%
select(hotel, is_canceled, lead_time)
```
```{r}
trimmed_df %>%
select(hotel, is_canceled, lead_time) %>%
rename(hotel_type = hotel)
```
```{r}
example_df <- bookings_df %>%
select(arrival_date_year, arrival_date_month) %>%
unite(arrival_month_year, c("arrival_date_month", "arrival_date_year"),
sep = " ")
```{r}
example_df <- bookings_df %>%
mutate(guests = adults + children + babies)
head(example_df)
```
```{r}
example_df <- bookings_df %>%
summarize(number_canceled = sum(is_canceled),
average_lead_time = mean(lead_time))
head(example_df)
Transformación de datos
id <- c(1:10)
name <- c("John Mendes", "Rob Stewart", "Rachel Abrahamson", "Christy Hickman",
"Johnson Harper", "Candace Miller", "Carlson Landy", "Pansy Jordan", "Darius Berry",
"Claudia Garcia")
print(employee)
Luego, podemos asignar un nombre al empleado dentro del marco de datos, indicar los
nombres de las columnas como ID,
nombre y título del puesto e imprimir todo el marco de datos.
library(tidyverse)
library(skimr)
library(janitor)
separate(employee, name, into = c('first_name', 'last_name'), sep = ' ')
Función <i>unite</i>
penguins %>%
mutate(body_mass_Kg=body_mass_g/1000)
Al organizar u ordenar tus datos usando R, es posible que necesites convertir datos en
formato ancho en datos en formato largo o viceversa. Recuerda que este es el aspecto de los
datos en formato ancho en una hoja de cálculo:
Los datos en formato ancho tienen observaciones en varias columnas. Cada columna
contiene datos de una condición diferente de la variable. En este ejemplo, distintos años.
Hay razones importantes para utilizar ambos formatos. De todos modos, como analista, es
importante saber cómo ordenar los datos cuando es necesario. En R, puedes tener un marco
de datos en un formato ancho que tiene varias variables y condiciones para cada variable.
Puede parecer un poco desordenado.
Ahí es donde entra en juego la función pivot_longer(). Como parte del paquete tidyr,
puedes utilizar esta función de R para alargar los datos de un marco de datos aumentando el
número de filas y disminuyendo el número de columnas. Del mismo modo, si quieres
convertir tus datos para que tengan más columnas y menos filas, usarás la función
pivot_wider().
Recursos adicionales
Para saber más sobre estas dos funciones y cómo aplicarlas en tu programación en R,
consulta estos recursos:
Pivoting
: Considera esto como un punto de partida para ordenar los datos a través de conversiones en
formato ancho y largo. Esta página web está tomada directamente de la información del paquete
tidyr en [Link]
. Explora los componentes de las funciones pivot_longer y pivot_wider usando detalles
específicos, ejemplos y definiciones.
: Este recurso explica cómo visualizar datos en formato ancho y largo, con ggplot2 para ayudar a
ordenarlos. La atención se centra en el uso de pivot_longer para reestructurar los datos y hacer
gráficos similares de un número de variables a la vez. Puedes aplicar lo que aprendes de los otros
recursos que se ofrecen en este curso para entender mejor las funciones pivot.
Organizar
max()
group_by()
summarize()
filter()
arrange()
drop_na()
Transformar
separate()
mutate()
unite()
Mismos datos, diferente resultado
hora trabajaremos con
un ejemplo de datos muy famoso: El cuarteto de Anscombe.
El cuarteto de Anscombe tiene cuatro conjuntos de datos
con estadísticas de resumen casi idénticas.
Pero esas estadísticas de resumen podrían ser engañosas.
Las visualizaciones de datos, especialmente para conjuntos de datos como estos,
son muy importantes.
Ayudan a descubrir detalles en
nuestros datos que de otra forma permanecerían ocultos.
Además, descubrirás algunas de las formas en que R
puede crear visualizaciones maravillosas.
[Link]('Tmisc')
library(Tmisc)
data("quartet")
view(quartet)
quartet %>%
group_by(set) %>%
summarise(mean(x),sd(x),mean(y),sd(y),cor(x,y))
Visualizaciones
amos a armar algunos gráficos simples
que nos ayuden a visualizar
estos datos y corroborar si
los conjuntos de datos son realmente idénticos.
Posteriormente aprenderás más acerca del trazado de datos en R.
Por el momento, nos haremos
una idea rápida de cómo aparecen estos datos.
ggplot(quartet,aes(x,y)) + geom_point() + geom_smooth(method = lm,se = FALSE) +
facet_wrap(~set)
El paquete datasauRus.
[Link]("datasauRus")
un gráfico nuevo.
Función de sesgo
En R, en realidad podemos cuantificar el sesgo comparando el resultado real
de nuestros datos con el resultado previsto.
Hay una explicación estadística bastante compleja detrás de esto.
Sin embargo, con la función <i>bias </i>en R, no tienes que hacer este cálculo en forma
manual.
Básicamente, la función <i>bias</i> calcula el monto promedio en que el resultado real
supera al resultado previsto.
Está incluido en el paquete de diseño Sim.
Así que es útil instalarlo y practicar por tu cuenta.
Si el modelo no tiene sesgo, el resultado debería ser bastante cercano a cero.
Un resultado alto significa que tus datos podrían estar sesgados.
Algo que es bueno saber antes de analizarlos.
Cargar Paquete
[Link]("SimDesign")
library(SimDesign)
la función bias
Usaremos la función <i>bias</i> para comparar las temperaturas pronosticadas con las
temperaturas
reales.
Para este ejemplo, solo tomaremos una pequeña muestra de nuestros datos meteorológicos
y
los cargaremos aquí.
Etiquetaremos esto como la temperatura real.
bias(actual_temp, predicted_temp)
Cuando ejecutamos esto, descubrimos que el resultado es 0.71. Una cifra muy
cercana a cero, pero la predicción parecía sesgada hacia temperaturas
más bajas, es decir, no son tan exactas como podrían ser.
Y ahora que el canal meteorológico local sabe esto,
pueden encontrar cuál es el problema que está causando las predicciones sesgadas en su
sistema.
Esto no significa que sus predicciones serán perfectas todo el tiempo, pero
serán más exactas en general.
bias(actual_sales, predicted_sales)
l resultado es -35.
Eso está muy lejos de cero.
El resultado previsto es mayor que el resultado real, lo cual significa que la tienda
tal vez esté pidiendo demasiado stock para las fechas de lanzamiento. Como ya han usado
la función <i>bias</i>
para comparar estos puntos de datos,
pueden reevaluar sus prácticas de aprovisionamiento de stock para evitar
comprar más stock que el que necesitan de una vez.
Sesgo de selección: Los datos utilizados para entrenar el modelo pueden no ser
representativos de la población general.
Sesgo de medición: Los instrumentos o métodos utilizados para recopilar datos
pueden introducir sesgo.
Sesgo de confusión: Factores no controlados pueden influir tanto en la variable
predictora como en la variable de respuesta, lo que lleva a un sesgo en la estimación
del efecto.
Sesgo
bias de 0,8
puntaje de bias de 0,8 indica que el modelo está sesgado, pero no proporciona suficiente
información para determinar la gravedad del sesgo o sus causas subyacentes.
bias de -0,3
En valor de bias de -0,3 indica que el modelo está sesgado hacia los valores
subestimados. Esto significa que el modelo tiende a predecir valores más bajos que los
valores reales.
Las posibles causas de este sesgo incluyen:
Este escenario fue compartido por un analista cuantitativo que recopila datos de personas
de todo el mundo. Explica cómo descubrieron el sesgo en los datos y cómo usaron R para
solucionarlo:
"Trabajo en un equipo que recopila datos tipo encuesta. Una de las tareas que realiza mi
equipo se llama comparación por pares. Por ejemplo, podemos mostrar a los usuarios dos
anuncios uno al lado del otro al mismo tiempo. En nuestra encuesta, preguntamos cuál de
los dos anuncios prefieren. En un caso, tras muchas iteraciones, observamos un sesgo
constante a favor del primer elemento. También hubo una disminución apreciable de la
preferencia por un elemento si cambiamos su posición a la segunda.
Así que decidimos añadir aleatoriedad a la posición de los anuncios usando R. Queríamos
asegurarnos de que los artículos aparecieran en la primera y segunda posición con
frecuencias similares. Utilizamos sample() para inyectar un elemento de aleatoriedad en
nuestra programación en R. En R, la función sample() permite tomar una muestra aleatoria
de elementos de un conjunto de datos. Al agregar este fragmento de código se barajan las
filas de nuestro conjunto de datos de forma aleatoria. Así, cuando presentamos los anuncios
a los usuarios, las posiciones de los anuncios eran ahora aleatorias y se controlaba el sesgo.
Esto hizo que la encuesta fuera más eficaz y los datos más fiables".
Conclusiones clave
La función sample() es solo una de las muchas funciones y métodos en R que puedes usar
para abordar el sesgo de tus datos. Dependiendo del tipo de análisis que estés realizando, es
posible que tengas que incorporar algunos procesos avanzados en tu programación. Aunque
este programa no cubre este tipo de procesos en detalle, es probable que aprendas más
sobre ellos a medida que adquieras más experiencia en el campo del análisis computacional
de datos.
Para saber más sobre el sesgo y la ética de los datos, consulta estos recursos:
Función de sesgo:
Esta página web es un buen punto de partida para aprender cómo la función de
sesgo en R puede ayudarte a identificar y gestionar el sesgo en tu análisis.
: Este curso en línea proporciona diapositivas, vídeos y ejercicios para ayudarte a aprender más
sobre la ética en el mundo del análisis computacional de datos. Incluye información sobre la
privacidad de los datos, su tergiversación y la aplicación de la ética a tus visualizaciones.
Cambia tus datos
Contexto de esta actividad
En esta actividad, repasarás un escenario y te enfocarás en manipular y
modificar datos reales en R. Aprenderás más acerca de funciones que
puedes usar para manipular tus datos, usar resúmenes estadÃsticos para
explorar tus datos y sacar conclusiones iniciales para tus interesados.
El escenario
En este escenario, eres un analista de datos júnior que trabaja para una
empresa de reservas hoteleras. Se te pidió que limpies un archivo .csv
que se creó después de consultar una base de datos para combinar dos
tablas diferentes de hoteles distintos. Ya realizaste algunas funciones
de limpieza básicas sobre estos datos; esta actividad se enfocará en
usar funciones para realizar tareas básicas de manipulación de datos.
Paso 1: Cargar paquetes
[Link]("tidyverse")
[Link]("skimr")
[Link]("janitor")
library(readr)
bookings_df <- read_csv("~/Curso Google/bookings_df.csv")
View(bookings_df)
colnames(hotel_bookings)
arrange(hotel_bookings, desc(lead_time))
arrange(bookings_df,-lead_time)
Comprobar Cambios
Observa que cuando solo ejecutas `arrange()` sin guardar tus datos en un
nuevo marco de datos, no modifica el marco de datos existente. Comprueba
ejecutando de nuevo `head()` para ver si los mayores tiempos de
antelación están primero:
Esto será verdadero para todas las funciones que usarás en esta
actividad. Si quisieras crear un nuevo marco de datos que tuviera
guardados estos cambios, usarÃas el operador de asignación, <- , como
está escrito en el bloque de código debajo, para almacenar los datos
ordenados en un marco de datos llamado 'hotel_bookings_v2':
```{r}
max(hotel_bookings$lead_time)
```
```{r}
min(hotel_bookings$lead_time)
```{r}
min(lead_time)
```
mean(bookings_df$lead_time)
filter
ú sabes que el primer paso será crear un nuevo conjunto de datos que
solo contenga datos sobre hoteles urbanos. Puedes hacerlo usando la
función `filter()` y nombrar a tu nuevo marco de datos
'hotel_bookings_city':
```{r filter}
<-
filter(hotel_bookings, hotel_bookings$hotel=="City Hotel")
`group_by()`y `summarize()
bookings_df %>%
group_by(hotel) %>%
summarise(average_lead_time=mean(lead_time),
olower)
rename_with(autos, toupper)
max_lead_time=max(lead_time))
Respuestas Modulo 3
summarize(min_body_mass_g = min(body_mass_g))
Mal no se puede determinar el sesgo y el modelo está sesgado
OTRAS RESPUESTAS:
penguins %>%
drop_na() %>%
group_by(species) %>%
summarize(mean_body_mass_g = mean(body_mass_g))
summarize(min_body_mass_g = min(body_mass_g))
Módulo 4
Visualizaciones en R
Creé esas visualizaciones con ggplot2,
uno de los paquetes centrales de tidy verse.
ggplot2 es el paquete de visualización más popular de R,
y con mucha razón:
es una herramienta de visualización de datos potente y fácil de usar.
Ggplot2
[Link]
Ggplot2 originalmente fue creado por el estadístico y
desarrollador Hadley Wickham en 2005.
La inspiración de Wickham para
crear ggplot2 provino del libro de 1999 The Grammar of Graphics,
un estudio académico sobre la visualización de datos, escrito por el científico de la
computación Leland Wilkinson.
Las primeras dos letras de ggplot2 de hecho significan grammar of graphics.
Y del mismo modo en que la gramática de los idiomas humanos nos da
normas para armar cualquier tipo de oración,
la gramática de los gráficos nos da normas para armar cualquier tipo de visualización.
Entonces ggplot2 tiene algunos bloques de construcción básicos que puedes usar para crear
diagramas.
En otras palabras, cuando aprendes los pasos básicos para crear un diagrama en ggplot2,
puedes reutilizar esos pasos para crear muchos tipos de diagramas diferentes.
Puedes crear todo tipo de diagramas diferentes, entre ellos, diagramas de dispersión,
gráficos de barras, diagramas de línea, y muchos más.
Puedes cambiar los colores, el diseño y las dimensiones de tus diagramas y
agregar elementos de texto como títulos, leyendas y etiquetas.
Conceptos
.
Nos enfocaremos en algunos conceptos centrales en ggplot2: estética,
figuras geométricas, facetas, etiquetas y anotaciones.
estética
En ggplot2, una estética es una propiedad visual de un objeto de tu diagrama.
Por ejemplo, en un diagrama de dispersión la estética incluye cosas como el tamaño,
la forma y el color de tus puntos de datos.
Piensa en una estética como una conexión o
mapeo entre una característica visual en tu diagrama y una variable en tus datos.
figura geométrica
se refiere al objeto geométrico usado para representar tus datos.
Por ejemplo, puedes usar puntos para crear un diagrama de dispersión,
barras para crear un gráfico de barras o líneas para crear un diagrama de líneas.
Puedes elegir una figura geométrica que se adapte al tipo de datos que tienes.
Los puntos muestran la relación entre dos variables cuantitativas.
Las barras muestran una variable cuantitativa que varía entre diferentes categorías.
función facet.
Las facetas te permiten mostrar grupos más pequeños, o subconjuntos, de datos.
Con las facetas, puedes crear diagramas separados para todas las variables en tu conjunto
de datos.
library(palmerpenguins)
data(penguins)
View(penguins)
Supongamos que quieres modelar la relación entre masa corporal y longitud de aletas en las
tres especies de pingüino. Puedes elegir una figura geométrica específica que se adapte al
tipo de datos que tienes. Los puntos muestran la relación entre dos variables cuantitativas.
Un diagrama de dispersión de puntos sería una manera eficaz de mostrar la relación entre
las dos variables. Puedes colocar longitud de aleta en el eje X y masa corporal en el eje Y.
Escribe el siguiente código para crear el diagrama. Pero antes de ejecutarlo, revisa el código
parte por parte:
ggplot(data = penguins) +geom_point(mapping = aes(x = flipper_length_mm, y =
body_mass_g))
ggplot(data = penguins) +
geom_point(mapping = aes(x = flipper_length_mm, y = body_mass_g))
+: Luego agregas un símbolo “+” para agregar una nueva capa a tu diagrama. Completas el
diagrama agregando una o más capas a ggplot().
geom_point(): Luego eliges una figura geométrica agregando una función geométrica. La
función geom_point() usa puntos para crear diagramas de dispersión, la función geom_bar
usa barras para crear gráficos de barras, etc. En este caso, elige la función geom_point para
crear un diagrama de dispersión de puntos. El paquete ggplot2 viene con muchas funciones
geométricas diferentes. Obtendrás más información sobre figuras geométricas más adelante
x
Consejo profesional: Puedes escribir la misma sección de código que aparece arriba
usando una sintaxis diferente con el argumento de mapeo dentro de la llamada de ggplot():
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = body_mass_g)) +
geom_point()
Para crear tu propio diagrama usando código, sigue estos tres pasos:
1. Comienza con la función ggplot() y elige un conjunto de datos con el que trabajar.
3. Aplica las variables que quieres modelar en los argumentos de la función aes().
La página de ggplot2
, que forma parte de la documentación oficial de tidyverse, es un gran recurso para todo lo
relacionado con ggplot2. Incluye entradas sobre temas clave, ejemplos útiles de código y
enlaces a otros recursos útiles.
Búsqueda en línea
Hacer una búsqueda en línea del mensaje de error que aparece (e incluir “R” y el nombre de
la función o el paquete en tus términos de búsqueda) es otra opción. Hay grandes
probabilidades de que alguien ya se haya topado con el mismo error y lo haya publicado en
línea.
La comunidad de R
Si los otros recursos no ayudan, puedes intentar conectarte con la comunidad de R en línea.
Existen muchos foros en línea y sitios web útiles en los que la gente pide y ofrece ayuda,
entre ellos:
RStudio Community
Stackoverflow
Twitter (#rstats)
Cuestionario 1
En ggplot2, puedes usar la función ggplot() para especificar el marco de datos a usar para tu
diagrama.
En ggplot2, usas el signo más (+) para agregar una capa a tu diagrama.
En ggplot2, usas la función aes() para aplicar variables en tus datos a características visuales de tu
diagrama. Estas características se conocen como estética.
El código creará un diagrama de dispersión. La función geom_point() usa puntos para crear un
diagrama de dispersión.
Mejoras a visualizaciones en R
Estética en ggplot2
geom_point()
Al aplicar estos atributos estéticos a tu trabajo con ggplot2, puedes crear visualizaciones de
datos en R que comunican tendencias con claridad en tus datos.
Color
ggplot(data = penguins) +
geom_point(mapping = aes(x = flipper_length_mm, y = body_mass_g,color=species))
Shape
Apliquemos la variable species a la estética shape.
Para hacerlo, podemos modificar el código de color signo igual species a shape signo igual
species. En vez de puntos de color, R asigna diferentes formas a cada especie.
Ahora la leyenda nos muestra un círculo para la especie Adelia (Adelie),
un triángulo para los Barbijo (Chinstraps) y un cuadrado para los Papúa.
size
Agreguemos tamaño también y apliquemos tres estéticas a las especies.
Si agregamos size signo igual species, cada forma coloreada también tendrá un tamaño
diferente.
Alpha-Transparecnia
También podemos mapear especies a la estética alfa,
que controla la transparencia de los puntos.
ggplot(data = penguins) +
Digamos que queremos cambiar el color de todos los puntos a violeta. Aquí
no queremos aplicar color a una variable específica como especie.
Solo queremos que cada punto en nuestro diagrama de dispersión sea violeta.
Entonces necesitamos colocar nuestro nuevo trozo de código fuera de la función aes y
usar comillas para nuestro valor de color.
Esto se debe a que todo el código dentro de la función aes le indica a R
cómo aplicar estética a variables. Por
ejemplo, aplicar la estética color a la variable species.
Recursos adicionales
Para obtener más información sobre atributos estéticos, consulta estos recursos:
: La hoja de referencia de RStudio es una guía excelente que puedes usar mientras
trabajas con ggplot2. Tiene muchísima información útil, que incluye explicaciones sobre
cómo usar figuras geométricas en las diferentes visualizaciones que puedes crear.
: Este recurso es una gran manera de aprender los conceptos básicos de ggplot2 y cómo
aplicar atributos estéticos a tus diagramas. Puedes volver a este tutorial a medida que
trabajas más con ggplot2 y tus propios datos.
: Esta guía describe la sintaxis de la función aes y explica qué hace cada argumento.
ggplot(data = penguins) +
geom_smooth(mapping = aes(x = flipper_length_mm, y =
body_mass_g,linetype=species))
Podemos agregar la estética de tipo de línea a
nuestro código y aplicarla a la variable species.
Geom guion bajo smooth dibujará
una línea diferente con
un tipo de línea diferente para cada especie de pingüino.
La leyenda muestra cómo
cada tipo de línea coincide con cada especie.
Graficos de Barras
data(diamonds)
ggplot(dat = diamonds) +
geom_bar(mapping=aes(x=cut))
ggplot(dat = diamonds) +
geom_bar(mapping=aes(x=cut, fill=cut))
ggplot(dat = diamonds) +
geom_bar(mapping=aes(x=cut, fill=clarity))
Nuestro diagrama ahora muestra
40 combinaciones diferentes de corte y claridad.
Cada combinación tiene su propio rectángulo coloreado.
Los rectángulos que tienen
el mismo valor de corte están
apilados uno encima del otro en cada barra.
El diagrama organiza los datos complejos.
Ahora sabemos la diferencia en volumen entre
cortes y podemos averiguar
la diferencia en claridad dentro de cada corte.
Suavizado
En esta lectura, aprenderás sobre el suavizado en ggplot2 y cómo puede usarse para hacer
que tus visualizaciones de datos en R sean más claras y fáciles de seguir. A veces, puede
ser difícil comprender tendencias en tus datos solo a través de diagramas de dispersión. El
suavizado permite detectar una tendencia de datos aun cuando no puedes notar con
facilidad una tendencia en los puntos de datos graficados. La funcionalidad de suavizado de
ggplot2 es útil porque suma una línea de suavizado como otra capa en un diagrama; la
línea de suavizado ayuda a que un observador casual entienda el sentido de los datos.
Código de ejemplo
ggplot(data, aes(x=distance, y= dep_delay)) + geom_point() + geom_smooth()
El código de ejemplo crea un diagrama con una línea de tendencia similar a la línea azul
que aparece debajo.
Dos tipos de suavizado según la cantidad de Datos
Tipo de
Descripción Código de ejemplo
suavizado
El proceso de suavizado
Suavizado LOESS es óptimo para ggplot(data, aes(x=, y=))+ geom_point()
LOESS suavizar diagramas con menos + geom_smooth(method="loess")
de 1000 puntos.
El suavizado con GAM, o
suavizado con modelos ggplot(data, aes(x=, y=)) + geom_point()
Suavizado
aditivos generalizados, es útil + geom_smooth(method="gam",
GAM
para suavizar diagramas con formula = y ~s(x))
un gran número de puntos.
La funcionalidad de suavizado en ggplot2 ayuda a que los diagramas de datos sean más
legibles, para que puedas reconocer mejor las tendencias de datos y sacar conclusiones
clave. El primer diagrama que aparece debajo son los datos antes de suavizar y el segundo
diagrama son los mismos datos después de suavizar.
Recurso adicional
. Incluye descripciones y ejemplos detallados de cómo usar los diferentes tipos de suavizado en
ggplot2. Además, incluye enlaces a otras lecciones sobre ggplot2. Puedes explorarlas para
familiarizarte más con el trazado de datos en R.
Estética y facetas
Las funciones de facetas
te dejan mostrar
grupos más pequeños, o subconjuntos, de datos.
Una faceta es una cara o una sección de un objeto,
como las caras de una piedra preciosa.
Las facetas muestran diferentes caras de tus datos
colocando cada subconjunto en su propio diagrama.
El uso de facetas te ayudará a descubrir nuevos patrones en
tus datos y enfocarte en
relaciones entre diferentes variables.
Por ejemplo,
digamos que estás observando
datos de ventas de una empresa de indumentaria.
Quizás quieras separar tus datos por
categoría para mostrar tendencias específicas:
ropa infantil versus ropa de adulto,
o moda de primavera versus moda de otoño.
O si estás realizando una encuesta de participación de empleados,
quizás quieras separar tus datos por antigüedad y
comparar empleados antiguos con empleados nuevos.
Función facet_wrap.
ggplot(data = penguins) +
geom_point(mapping = aes(x=flipper_length_mm, y=body_mass_g, color=species)) +
facet_wrap(~species)
data(diamonds)
ggplot(dat = diamonds) +
geom_bar(mapping=aes(x=cut, fill=clarity)) +
facet_wrap(~cut)
ggplot(data = penguins) +
facet_grid(sex~species)
Facet guion bajo grid separará
el diagrama en facetas verticalmente según
los valores de la primera variable y
horizontalmente según los valores de la segunda variable.
Por ejemplo, podemos tomar nuestro diagrama de pingüinos y usar
facet guion bajo grid con
las dos variables, sex y species.
En el paréntesis después de
la función facet guion bajo grid,
escribimos sex, después el símbolo de virgulilla,
después species. Vamos a ejecutar el código.
ggplot(data = penguins) +
facet_grid(~species)
.
Si queremos, podemos enfocar
nuestro diagrama en solo una de las dos variables.
Por ejemplo, podemos indicarle a R que elimine sexo
de la dimensión vertical del diagrama y
solo muestre las especies. Vamos a revisarlo.
Puedes ver fácilmente
diferencias en la relación entre
longitud de aleta y masa corporal entre las tres especies.
De la misma manera,
podemos enfocar nuestro diagrama en el sexo en lugar de las especies.
Filtrado y diagramas
Esta lectura compartirá algunos recursos que te enseñarán cómo usar la función de filtrado de
dplyr para hacer que los diagramas que crees con ggplot2 sean más fáciles de leer.
Filtrar tus datos antes del trazado te permite enfocarte en subconjuntos específicos de tus
datos y sacar conclusiones más dirigidas. Para hacerlo, usa la función dplyr filter() en tu
sintaxis de ggplot.
Example code
data %>% filter(variable1 == "DS") %>% ggplot(aes(x = weight, y = variable2,
colour = variable1)) + geom_point(alpha = 0.3, position = position_jitter()) +
stat_smooth(method = "lm")
Recursos adicionales
Para obtener más detalles sobre ggplot2 y filtrado con dplyr, consulta estos recursos:
Reunir todos los elementos: (dplyr+ggplot)
: El curso sobre R de las RLadies of Sydney utiliza datos reales para demostrar
funciones de R. Esta lección se enfoca específicamente en la combinación de dplyr y ggplot
para filtrar datos antes de trazarlos. El vídeo instructivo te guiará por cada paso del proceso
mientras lo sigues con los datos que ellas te suministraron.
Transformación de datos:
Este recurso se enfoca en cómo usar la función filter() en R y demuestra cómo combinar
filter() con ggplot(). Este es un recurso útil si te interesa aprender sobre cómo se puede usar
filter() antes del trazado.
Esta guía integral incluye todo, desde los usos más básicos de ggplot2 hasta la creación de
visualizaciones complejas. Incluye la función filter() en la mayor parte de los ejemplos para que
puedas aprender a implementarla en R para crear visualizaciones de datos.
Elementos de ggplot
Barras azules y amarillas
Para destacar productos poco rentables, utiliza la función aesthetics: col = ifelse (x<2, 'blue',
'yellow').
Título de gráfico
Para agregar un título al gráfico, utiliza la función label: title = Calificación de producto promedio.
Gráfico de barras
Para crear las barras en el gráfico, utiliza una función geom:geom_bar ().
Línea de tendencia
Para crear una línea de tendencia, utiliza una función geom:geom_smooth ().
Diagrama de dispersión
Para crear un diagrama de dispersión, utiliza una función geom:geom_point ().
Etiquetas de ejes
Para etiquetar los ejes, utiliza una función aesthetics: aes (x = Precio promedio (USD), y =
Producto)
Comparar datos
Para comparar las tendencias de datos en las calificaciones promedio, utiliza una función facet:
facet_wrap (~Average Rating)
Capa de anotaciones
agregar anotaciones a un diagrama puede ayudar a explicar
el propósito del diagrama o a destacar datos importantes.
Cuando presentas tus visualizaciones de datos a interesados,
quizás no tengas mucho tiempo para reunirte con ellos.
Las etiquetas y anotaciones dirigirán su atención a elementos clave y
los ayudarán a comprender tu diagrama con rapidez.
funciones label
Título
ggplot(data = penguins) +
geom_point(mapping = aes(x=flipper_length_mm, y=body_mass_g, color=species)) +
labs(tittle="Palmer Penguins: Body Mass vs. Flipper Length")
Primero, agregamos un signo más para agregar una nueva capa a nuestro diagrama.
Luego en los paréntesis, después de la función label, escribimos la palabra title,
después un signo igual con el texto específico que queremos en nuestro título.
Sub- Título
ggplot(data = penguins) +
labs(tittle="Palmer Penguins: Body Mass vs. Flipper Length",subtitle = "Sample of Three penguins
Species")
Podemos agregar una leyenda a nuestro diagrama de la misma manera.
Las leyendas nos permiten mostrar la fuente de nuestros datos.
Los datos sobre pingüinos de Palmer fueron recolectados de 2007 a 2009 por la Dra.
Kristen Gorman,
miembro del programa de Investigación Ecológica a Largo Plazo de la Estación Palmer.
Citemos a la Dra. Gorman en nuestra leyenda.
Leyenda
ggplot(data = penguins) +
labs(tittle="Palmer Penguins: Body Mass vs. Flipper Length",subtitle = "Sample of Three penguins
Species", caption="Datos recolectados por Kristen Gorman")
funciones annotate
Si queremos colocar texto dentro de la cuadrícula para destacar puntos de datos específicos,
podemos usar la función annotate.
Por ejemplo,
digamos que queremos destacar los datos sobre los pingüinos Papúa (Gentoo).
Podemos usar la función annotate para agregar texto al lado de los puntos de datos
que se refieren a los pingüinos Papúa.
Este texto comunicará con claridad lo que muestra el diagrama y
reforzará una parte importante de nuestros datos.
fontface="bold", size=4.5,angle=2.5)
Bueno, podemos agregar color signo igual seguido del nombre del color.
Probemos con purple.
También podemos modificar el estilo de fuente y el tamaño de nuestro texto.
Usa font face y size para escribir el código
ggplot(data = penguins) +
geom_point(mapping = aes(x=flipper_length_mm, y=body_mass_g, color=species)) +
labs(tittle="Palmer Penguins: Body Mass vs. Flipper Length", subtitle = "Sample of
Three penguins Species")
Si quieres usar menos código, puedes guardar tu diagrama como una variable en R.
Como recordatorio rápido, para crear una variable en R, escribes
el nombre de la variable, después un signo menor que, seguido de un guion.
Probémoslo con el nombre de variable p.
Recursos
Cómo crear una capa de anotaciones: Esta guía explica cómo agregar una capa de
anotaciones con ggplot2. Incluye un código de muestra y visualizaciones de datos
con anotaciones creadas en ggplot2.
Cómo anotar un diagrama en ggplot2: Este recurso incluye explicaciones sobre cómo
agregar diferentes tipos de anotaciones a tus diagramas de ggplot2, y es una gran referencia
si necesitas consultar rápidamente un tipo específico de anotación.
función ggsave
Para obtener más información sobre los diferentes procesos para guardar imágenes,
consulta estos recursos:
. Explora las herramientas que puedes usar para guardar imágenes en R e incluye varios
ejemplos para seguir y aprender cómo guardar imágenes en tu propio espacio de trabajo en
R.
Esta guía abarca múltiples formatos de archivo que puedes usar para guardar tus diagramas en R.
Cada sección incluye un ejemplo con un diagrama concreto que puedes copiar y usar para
practicar en tu propio espacio de trabajo en R.
Semana 4
Documentos e informes
documentar e
informar tu trabajo utilizando R Markdown.
R Markdown es un formato de archivo
para hacer documentos dinámicos con
R. Puedes utilizar
un archivo R Markdown como un <i>notebook</i> de código para guardar,
organizar y documentar tu análisis utilizando bloques de códigos,
comentarios y otras funciones.
Cuando terminas la limpieza y la exploración de datos,
puedes crear un informe en R Markdown
para resumir los resultados para los interesados.
El trabajo principal que hacemos en
mi departamento incluye un análisis.
Cuando mi equipo comenzó a crecer,
notamos que no teníamos
un lenguaje en común para el análisis de datos.
Así que todos hicimos el esfuerzo de
aprender R para poder colaborar con más facilidad.
Ahora todos hablamos el mismo lenguaje de programación.
Podemos revisar los códigos de otros,
lo que nos lleva a tener más coherencia, a ser
más colaborativos y a realizar un mejor análisis.
Cursiva
Por ejemplo, si quieres
escribir una palabra o una frase en cursiva en Markdown,
solo tienes que agregar un guion bajo o
un asterisco al principio y al final de la palabra o la frase.
Otras Opciones
<i>Notebooks</i> como Jupyter, Kaggle
y Google Colab hacen
cosas muy parecidas a las que hace el <i>notebook</i> de R Markdown,
e incluyen los elementos interactivos.
Muy pronto leerás más sobre esas opciones.
A continuación, crearemos un documento de R Markdown.
Podrás ver esta efectiva herramienta de análisis
en acción. Nos vemos pronto.
Recursos de R Markdown
R Markdown es una herramienta útil que te permite guardar códigos y ejecutarlos, y
también crear informes para compartir con los interesados. A medida que aprendas cómo
usar ese sistema, quizá quieras marcar ciertos recursos para volver a consultarlos más
adelante.
Esta lectura explora algunos de los recursos en línea más útiles para aprender más sobre R
Markdown y cómo usarlos para dejar asentado tu análisis.
Documentos de R Markdown
, de la plataforma de RStudio, incluyen una serie de tutoriales para aprender más acerca de
las funciones principales de R Markdown, incluidos los bloques de código, los formatos de
salida, los notebooks, los documentos interactivos y mucho más. Los tutoriales incluyen
lecciones en línea que puedes completar directamente en tu espacio de trabajo de RStudio
Cloud.
RStudio ha creado una guía de referencia y una hoja de referencia que puedes marcar y usar
cuando practiques cómo escribir tus archivos en R Markdown.
está compuesta por tres secciones: La sintaxis de Markdown, las opciones para bloques
de códigos del paquete knitr, y las opciones que ofrece Pandoc. La guía es muy detallada e
incluye muchísimos ejemplos y explicaciones, de modo que puedas encontrar la
información que necesitas para personalizar tus documentos de R Markdown.
es un resumen práctico que contiene los distintos pasos y procesos del flujo de trabajo de R.
Además, incluye secciones con explicaciones más breves sobre las opciones que ofrecen knitr y
pandoc para los bloques de código, así como otros datos útiles para repasar o buscar mientras
trabajas.
Libro R para ciencia de datos
Para leer una introducción bien organizada sobre los puntos básicos de R Markdown,
consulta la sección Comunicarse
del libro R para ciencia de datos. Ese capítulo abarca los elementos y funciones más
importantes de R Markdown, los distintos formatos de salida, y el flujo de trabajo que
puedes usar para combinar texto y códigos y, así, crear un notebook para documentar tu
análisis.
que te brinda un manual exhaustivo sobre el ecosistema de R Markdown. Este libro está
dividido en cuatro partes:
1. La parte I
La parte II
La parte III
detalla varios paquetes de extensión de R Markdown que puedes usar para construir
distintas aplicaciones o generar documentos de salida con estilos diferentes.
La parte IV
Los notebooks de Jupyter son útiles para todo lo que tiene que ver con limpieza y
transformación de datos, modelos estadísticos y visualizaciones. Son compatibles con R, así
que son otra opción si no quieres usar R Markdown. Al igual que los documentos de R
Markdown, puedes compartir los notebooks de Jupyter sin problemas con otros miembros
del equipo e interesados.
Cuando trabajas con Kaggle, tienes disponibles dos tipos de notebooks: Los notebooks de
Jupyter y los scripts (incluidos los scripts de R Markdown). Para más información, consulta
la página sobre Cómo usar los notebooks de Kaggle
Recursos adicionales
Para saber más sobre los notebooks de Jupyter, consulta estos recursos:
Proyecto Jupyter
El notebook de Jupyter
: Con este recurso, podrás aprender a usar el lenguaje Markdown para formatear tu texto
en un notebook de Jupyter. Úsalo como guía para poner en práctica la sintaxis en tus textos,
incluido cómo crear títulos y subtítulos, y también agregar enlaces.
: Este recurso incluye una gran variedad de opciones de formateo para los
notebooks de Jupyter. Aprenderás lo básico y también algunas opciones más
avanzadas, por ejemplo, cómo incrustar documentos en formato .pdf y vídeos.
Cuando sepas cómo usar el formateo básico en tus notebooks, podrás explorar opciones
más avanzadas.
El botón Convertir crea un informe en formato .html a partir del archivo de R Markdown y se
puede compartir con otras personas.
Como se ejecutan los bloques de códigos, en el informe en formato .html aparece directamente el
resultado.
2. En el cuadro de diálogo que se abra, escribe un título para tu notebook. Dale un nombre
que te ayude a saber de qué trata tu análisis (por ejemplo, “Penguins Plots”).
5. Haz clic en OK. En el panel de visualización del script, aparecerá un nuevo archivo de R
Markdown en una pestaña nueva. Ahora, deberías ver dos pestañas: una para el
archivo .rmd nuevo y otra para tu análisis. Para pasar de una a otra, solo tienes que hacer
clic en la pestaña a la que quieras acceder.
Formatear tu notebook
La sección que sigue, la que tiene el fondo gris, es un bloque de código. En las actividades
de este curso, cada vez que ejecutabas un bloque de un código, aparecía esta información.
Todos los bloques de códigos empiezan y terminan con un delimitador. Para empezar un
bloque de código, escribe tres comillas simples seguidas de una “r” en minúscula entre
llaves: ```{r}
Para terminarlo, solo tienes que volver a escribir las tres comillas simples: ```
Si formateas el bloque del código usando dos comillas simples y no tres, aparecerá como un
texto normal, no un código. Los delimitadores son caracteres que indican que hay un
código, así que es importante que utilices la sintaxis correcta. A futuro, siempre corrobora
haber escrito bien los delimitadores para que tu notebook de R Markdown ejecute tu código
de manera adecuada.
Puedes agregar el código usando uno de estos dos atajos: En tu teclado, puedes presionar
Ctrl+ Alt + I(en Windows) o Cmd + Option + I (en Mac). La otra opción es hacer clic en
el comando Agregar bloque en la barra de herramientas del editor:
Cuando crees un bloque de códigos, ten siempre en mente que, cuando lo ejecutes, el resultado
del bloque del código aparecerá inmediatamente después del bloque. Por eso, cuando los bloques
de códigos producen más de un resultado, una buena práctica es dividirlos en dos o más bloques.
Así, cada bloque del código producirá un solo resultado y será más fácil para los usuarios
ejecutarlo y examinarlo.
1. Haz clic en el extremo de la última línea de tu archivo .rmd. Para crear el bloque del
código, usa alguno de los dos atajos que mencionamos más arriba.
2. Presiona Enter (Windows) o Return (Mac) dos o tres veces después de haber creado el
bloque de código predeterminado. Así, dejarás espacio entre el bloque de código existente y
el próximo que vas a agregar.
3. Copia el código del archivo de análisis que abriste anteriormente y pégalo en la sección
gris, entre los delimitadores de principio y fin.
En la sección de fondo blanco, podrás escribir el texto sin formato usando la sintaxis de R
Markdown. Como ya aprendiste en este curso, la sintaxis de R Markdown sirve para
formatear los archivos de texto sin formato. Si usas este tipo de sintaxis, podrás escribir
texto en tu notebook y formatearlo sin problemas.
Primer bloque de códigos
configuraremos el entorno de R,
cargando nuestros paquetes con la función <i>library</i>.
En una línea nueva,
escribiremos dos numerales para
formatear un encabezado para esta sección,
seguidos del texto del encabezado:
"Configurar mi entorno".
Luego agregaremos una nota sobre el código.
Para usar itálicas en una palabra o una frase, coloca un asterisco al principio y al final, por
ejemplo, *texto en itálicas*
Para resaltar en negrita una palabra o una frase, coloca dos asteriscos al principio y al final,
por ejemplo, **texto en negrita**
comillas angulares.
Si utilizas esos corchetes, tendrás un enlace en el que podrás hacer clic en el archivo de
salida.
Para crear un título, inserta un numeral (#) seguido de un espacio y el texto que quieras, por
ejemplo, # Primeros pasos con R Markdown
Cuantos más numerales agregues (máximo de seis), más pequeño será el título
1. Haz clic en cualquier línea arriba del bloque del código que tú agregaste, pero debajo de
la sección YAML.
2. Escribe un título principal para tu informe usando un solo numeral. Quizá quieras
reformular el título de la sección YAML o ampliarlo con una descripción breve.
3. Agrega un título más pequeño debajo de eso para indicar que es la primera parte de la
programación. Luego, incluye una descripción del bloque del código que agregaste.
Las comillas simples le dan formato al texto para que parezca que es un bloque de
código aunque no lo sea. Las comillas simples en el código más arriba hacen que el fondo
de los textos “tidyverse” y “palmerpenguins” se vea gris.
Seguir formateando
Sigue trabajando en el formateo del archivo hasta que tengas, al menos, tres niveles
distintos de títulos y más descripciones para tu análisis. Cuando quieras, puedes hacer clic
en Convertir (knit) en el panel del script para abrir el archivo.
Cuando abras el archivo, podrás tener idea de cómo se verá el archivo en el formato que
elegiste. En este ejemplo, el archivo previsualizado es un .html.
Cuando abres el archivo, automáticamente se ejecutan los bloques de códigos para mostrar
el resultado. En este ejemplo, podemos ver que tidyverse se cargó usando la función
library().
Los archivos de R Markdown pueden guardarse como archivos HTML, PDF y de Word,
presentaciones con diapositivas o paneles.
El botón Convertir te permite crear un informe con todo el texto, el código y los resultados del
archivo de R Markdown.
---
author: "Gustavo"
date: "2024-04-14"
output: html_document
---
Para el nombre de esta sección se utilizan tres guiones en la primera y en la última línea.
Esa sintaxis crea automáticamente la sección del encabezado YAML
cuando se la utiliza en un archivo RMD.
En un archivo RMD, esa sección es básicamente para los metadatos o para
los datos sobre los datos en el resto del archivo.
agregar viñetas
las viñetas te pueden servir para organizar tu contenido. En nuestro archivo,
convertiremos la lista de documentos que
R Markdown puede crear en viñetas.
Utilizamos asteriscos seguidos de un espacio en
el archivo punto RMD para
crear las viñetas en el documento de salida.
Revisaremos esta sección para que
las viñetas estén configuradas de manera correcta.
Ahora, echemos un vistazo
a una manera diferente de incluir un enlace en el archivo
* HTML
* MS Word documents
Exportar documentos
.
Puedes utilizar Convertir para convertir
tu archivo en cualquiera de esas opciones cuando lo desees,
pero es mejor esperar para
convertirlo a PDF o a un documento de Word.
En lugar de convertirlo, quédate en la opción HTML mientras estés trabajando.
HTML no tiene saltos de página, así que puedes enfocarte en
generar contenido para tu informe
y no en su aspecto.
---
título: "Demo"
---
---
título: "Demo"
---
Para una guía detallada de cómo crear distintos tipos de documentos de R Markdown,
puedes consultar el capítulo Documentos
Notebooks
Presentaciones
Paneles
Los paneles son útiles para comunicar de forma rápida mucha información. El paquete
flexdashboard
y la sección Paneles
---
runtime: shiny
---
Para obtener más información sobre Shiny y cómo usar el código de R para agregar
componentes interactivos en un documento de R Markdown, consulta el tutorial de Shiny
de RStudio.
Otros formatos
El paquete bookdown
El paquete prettydoc
El paquete rticles
Para obtener una lista exhaustiva de formatos de salida y paquetes, visita la página de
Formatos de RStudio
Para ver miles de ejemplos de archivos de salida que puedes crear con R
Markdown, consulta la galería de R Markdown
de RStudio.
en el libro R para Ciencia de Datos te brinda más información sobre los archivos de salida que
presentamos en esta lectura. Esta lectura se redactó a partir de información de ese libro.
El paquete vitae
El paquete rticles
El paquete learnr
El paquete bookdown
El paquete flexdashboard
library(vitae)
4. Desde el cuadro de diálogo que aparece cuando creas un nuevo archivo, puedes acceder a
las plantillas disponibles en R Markdown. Para crear un archivo nuevo en R Markdown,
haz clic en Archivo >Nuevo archivo > R Markdown.
5. En el cuadro de diálogo de R Markdown, haz clic en Desde plantilla y accede a una lista
de plantillas de R Markdown disponibles en los paquetes instalados.
En el panel de visualización, verás que tienes disponibles algunas plantillas del paquete
vitae: Curriculum Vitae (Awesome-CV format), Curriculum Vitae (Hyndman format),
Curriculum Vitae (ModernCV format), etc. Estos son distintos tipos de plantillas para CV.
6. Desplázate hacia abajo y haz clic en Currículum Vitae (formato de veinte segundos).
7. Agrega un nombre para el nuevo directorio de archivos donde alojarás los archivos
agrupados en la plantilla, por ejemplo, “CV-Ejemplo”.
Si te desplazas hacia abajo, encontrarás texto para los títulos que presentan distintas
secciones para distintos temas, como los datos personales:
Para mostrar el formato de salida de la plantilla, haz clic en Convertir. No necesitas abrir
el menú desplegable y seleccionar un formato, ya que el formato predeterminado de la
plantilla es un archivo .pdf.
Así, verás un archivo .pdf que muestra la plantilla personalizable para el CV: