0% encontró este documento útil (0 votos)
51 vistas175 páginas

Introducción a R para Análisis de Datos

El documento ofrece una introducción a la programación, destacando la importancia de lenguajes como R y SQL para el análisis de datos, así como sus ventajas y desventajas en comparación con otros lenguajes como Python. Se enfatiza la utilidad de R en la limpieza, visualización y análisis estadístico de datos, y se presentan recursos adicionales para aprender sobre programación. Además, se discuten las habilidades que se pueden obtener al dominar estos lenguajes y su aplicación en diversas profesiones relacionadas con el análisis de datos.

Cargado por

gusnavarro15
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas175 páginas

Introducción a R para Análisis de Datos

El documento ofrece una introducción a la programación, destacando la importancia de lenguajes como R y SQL para el análisis de datos, así como sus ventajas y desventajas en comparación con otros lenguajes como Python. Se enfatiza la utilidad de R en la limpieza, visualización y análisis estadístico de datos, y se presentan recursos adicionales para aprender sobre programación. Además, se discuten las habilidades que se pueden obtener al dominar estos lenguajes y su aplicación en diversas profesiones relacionadas con el análisis de datos.

Cargado por

gusnavarro15
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Introducción a la programación

Habilidades Obtenidas
sabes cómo utilizar
el pensamiento estructurado para definir
un problema y hacer las preguntas correctas;

trabajar con hojas de cálculo, bases de datos


y herramientas como SQL para organizar y transformar los datos;

limpiar tus datos para asegurarte


de su integridad antes de analizarlos;

crear elementos visuales para ilustrar puntos clave; y


elaborar una historia convincente para
comunicar las conclusiones a los interesados.

Lenguaje de programación R y cómo puede


ayudarte en cada etapa del proceso.
SQL te permite comunicarte con bases de datos,
pero un lenguaje de programación
de uso general te permite crear
tus propias aplicaciones y
construir tus propias funciones desde cero.

Relación con otros lenguajes


Todavía sigo aprendiendo nuevas formas de usar R.
Además, puedes aplicar esas habilidades en
otros lenguajes de programación, por ejemplo,
Python, Julia o JavaScript.

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:

 Popularidad: R se usa mucho para análisis de datos


 Herramientas: R contiene una biblioteca práctica de herramientas listas para usar
para la limpieza y el análisis de datos
 Enfoque: R se creó para ayudar con la estadística, así que los analistas de datos
pueden usar una amplia biblioteca de rutinas estadísticas cuando lo necesiten
 Capacidad de adaptación: R se adapta bien a proyectos de aprendizaje automático
y análisis de datos
 Disponibilidad: R es un lenguaje de programación de código abierto.

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:

 R versus Python, una guía exhaustiva para profesionales de los datos

 : 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.

 R versus Python, una comparación objetiva


 : Este artículo ofrece una comparación entre los lenguajes con ejemplos de uso de
códigos.

 R versus Python: ¿Cuál es el mejor lenguaje para la ciencia de datos?

: Esta entrada en un blog enriquece el debate sobre R versus Python.

Los profesionales que tienen un enfoque estadístico u orientado a la investigación a la hora de


resolver problemas, por ejemplo, científicos, estadísticos e ingenieros, usan R. Los profesionales
que buscan soluciones en los datos mismos y los que tienen que minar datos enormemente para
encontrar respuestas, como los científicos de datos, los especialistas en aprendizaje automático y
los desarrolladores de software, usan Python.

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.

La sintaxis te muestra cómo organizar las palabras y


los símbolos que ingreses para que tengan sentido para la computadora.

Codificar es escribir instrucciones para


la computadora utilizando la sintaxis
de un lenguaje de programación específico.

La programación te ayuda a aclarar los pasos de tu análisis,


a ahorrar tiempo y te permite
reproducir y compartir tu trabajo con facilidad.

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

Por ejemplo, tomemos el proceso de


limpieza y transformación de datos.
Con una línea de código
puedes crear un conjunto de datos separado
sin perder ningún valor.
Con otra línea, puedes
aplicar varios filtros a tus datos.
Eso te permite emplear menos tiempo para preparar
tus datos y más tiempo para el análisis en sí.

Reproducción del análisis.

El análisis de datos es más útil cuando puedes


reproducir tu trabajo y compartirlo con otras personas.
Ellas pueden volver a revisarlo y ayudarte a resolver problemas.
El código almacena automáticamente todos los pasos de
tu análisis para que puedas reproducirlo
y compartir tu trabajo en cualquier momento a futuro,
ya sean semanas, meses o incluso años después

Formas de aprender a programar y


Lenguajes de Programación
Por ejemplo, Python es
un lenguaje de uso general que
sirve para todo tipo de cosas,
desde trabajar con inteligencia artificial
hasta crear experiencias de realidad virtual.
Javascript funciona bien para desarrollar
aplicaciones en línea y es una parte esencial de los navegadores web.

Lenguajes de programación populares según la profesión-


Recursos Adiconales
Analista de datos

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:

 El proyecto R para cálculos estadísticos

 : Sitio web para descargar R, documentación y artículos de soporte

 Manuales de R

 : Enlaces a manuales del equipo del núcleo de R, que incluyen presentación,


administración y ayuda

 Tutoriales de R del club de programación


 : Recopilación de tutoriales de programación con 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:

 La Fundación del Software Python (PSF)

 : Sitio web con guías que te ayudan a dar tus primeros pasos

 Tutorial Python

 : Tutorial de Python 3 del sitio de PSF

 Tutoriales de Python del club de programación

: Recopilación de tutoriales de programación con 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

 : Introducción a HTML, con enlaces a funciones, ejemplos y referencias de HTML5

 Hoja de referencia de HTML5

 : Resumen útil de etiquetas y atributos de HTML5 y su compatibilidad con HTML4

 Curso de conceptos básicos de HTML5 y CSS

 : 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:

 Hoja de referencia interactiva de CSS

 : Incluye las partes más comunes de CSS, incluido gradiente, fondo, familia de fuentes,
bordes y mucho más

 Las 50 mejores hojas de referencia de HTML y CSS

: Lista con 50 hojas de referencia; elige las que te sean más útiles

Desarrolladores de aplicaciones para dispositivos móviles

Los desarrolladores de aplicaciones para dispositivos móviles usan la programación para


crear aplicaciones para computadoras portátiles, dispositivos móviles y tabletas. Los
lenguajes de programación que más usan son Swift, Java y C#.

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 para desarrolladores que usan Swift

 : Sitio web para desarrolladores de Apple que contiene información para quienes quieran
usar Swift

 Recursos para el desarrollo con Swift

 : Colección de documentos, códigos de muestra, videos y libros recomendados de


Apple

Java (para dispositivos de Android) es el lenguaje oficial de programación para desarrollo


de Android. El artículo Quiero desarrollar aplicaciones para Android: ¿Qué lenguajes
debería aprender?

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

 Desarrolla tu primera aplicación para Android con Java

 : Instrucciones para instalar Android Studio y crear tu primera aplicación

 Tutorial de Java para principiantes: Escribe una aplicación simple sin necesidad de tener
experiencia

 : Resumen de cómo aprender Java; contiene ejemplos

C# (que se pronuncia "sí sharp") es un lenguaje de programación orientado al objeto que


se usa mucho para crear juegos y aplicaciones móviles en la plataforma de desarrollo de
código abierto .NET. Xamarin amplía la plataforma .NET gracias a un framework para que
los desarrolladores creen aplicaciones móviles para distintas plataformas, tanto en iOS
como en Android. A continuación, tienes algunos recursos para ayudarte a aprender C#:

 Materiales de Microsoft .NET para aprender C#

 : Incluye cursos, tutoriales y videos gratuitos para aprender el lenguaje de programación


C#

 Materiales de Microsoft para aprender Xamarin

 : 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

Desarrolladores de aplicaciones web

Los desarrolladores de aplicaciones web diseñan y desarrollan aplicaciones de redes que se


usan en la web. Los lenguajes de programación que más usan son Java, Python, Ruby y
PHP.

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:

 Tutoriales de Oracle sobre Java

 : Tutoriales sobre Java incluidos en los documentos de Oracle

 Java para principiantes

 : Curso gratuito de Java para principiantes en el sitio web "Home and Learn"

Python es un lenguaje de programación de uso general. Explora los recursos de Python


que se enumeran en la sección del analista de datos.

Ruby es un lenguaje de programación de uso general orientado a objetos para el desarrollo


de aplicaciones web. Ruby no es lo mismo que Ruby on Rails, que es un framework de
aplicación web de código abierto que se ejecuta usando Ruby. Consulta estos recursos para
obtener más información sobre Ruby:

 Noticias sobre Ruby

 : Información sobre los últimos lanzamientos de Ruby y enlaces a otros recursos

 Documentación de Ruby

 : Incluye guías, tutoriales y material de referencia para ayudarte a aprender más sobre
Ruby

 Guía para programadores de Ruby

 : Tutorial y guía de referencia para Ruby

 Aprender Ruby 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

PHP es un lenguaje de scripts que es particularmente útil para desarrollo de aplicaciones


web. Está basado en Perl, otro lenguaje de programación. PHP es simple, flexible y
relativamente fácil de aprender. Consulta estos recursos para obtener más información
sobre PHP:

 Archivos descargables y documentos sobre PHP

 : Información sobre los últimos lanzamientos de PHP y enlaces a otros recursos


 PHP bien ejecutado

 : Referencia rápida para estándares populares de programación con PHP

 Tutorial interactivo de PHP

: Tutorial gratuito que ejecuta códigos PHP en distintos ejercicios

Desarrollador de videojuegos

Los desarrolladores de videojuegos son desarrolladores de aplicaciones que se dedican


específicamente a crear videojuegos. Los lenguajes de programación que más usan son C#
y C++.

C# es un lenguaje de programación orientado a objetos que se usa mucho para crear


videojuegos. Explora los recursos de C# que se enumeran en la sección de desarrolladores
de aplicaciones para dispositivos móviles.

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++:

 Recursos de Microsoft para C++

 : Aprende a instalar el IDE de Visual Studio y escribir códigos usando C++

 Códigos de muestra de Microsoft C++ y C# para videojuegos

 : Recurso con más de 40 códigos de muestra de C++ y C# para videojuegos

 Tutorial interactivo de C++

: Tutorial gratuito que ejecuta códigos C++ en distintos ejercicios

De las hojas de cálculo a SQL y, luego, a R


Hojas de cálculo, SQL y R: Comparación entre los tres

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ú.

 Todas usan funciones: En las hojas de cálculo, usas funciones en fórmulas y, en


SQL, las incluyes en las consultas. En R, usarás funciones en el código que forma
parte de tu análisis.

Pregunta clave Hojas de cálculo SQL R


Un programa que usa
filas y columnas para Lenguaje de
Lenguaje de
organizar datos y que te programación de base
programación que
permite llevar a cabo de datos que se usa
suele usarse para
¿Qué es? análisis y manipulación para comunicarse con
análisis estadísticos,
de datos usando fórmulas, bases de datos para
visualización y
funciones y llevar a cabo un
análisis de datos
funcionalidades análisis de los datos
integradas
Brinda un lenguaje
Permite que los accesible para
Incluye una variedad de usuarios manipulen y organizar, modificar y
¿Cuáles su ventaja
herramientas y funciones reorganicen datos limpiar marcos de
principal?
de visualización según lo necesite su datos, y crear
análisis visualizaciones de
datos detalladas
¿Con qué
Conjuntos de datos más Conjuntos de datos Conjuntos de datos
conjunto de datos
pequeños más grandes más grandes
trabaja mejor?
Se cargan con R
cuando lo instalas, se
Se ingresan manualmente Se accede a ellos
¿Cuál es la fuente importan de tu
o se importan de una mediante una base de
de los datos? computadora o se
fuente externa datos externa
cargan de fuentes
externas
¿Dónde se suelen
Dentro de tablas en la
almacenar los En una hoja de cálculo en En un archivo R en tu
base de datos a la que
datos de mi tu computadora computadora
accediste
análisis?
¿Usa fórmulas y
Sí Sí Sí
funciones?
¿Puedo crear Sí Sí, usando una Sí
visualizaciones? herramienta
adicional, como el
Pregunta clave Hojas de cálculo SQL R
sistema de gestión de
base de datos
(DBMS) o una
herramienta de
inteligencia
empresarial (BI)

Escribir una publicación en Kaggle

Para escribir una publicación en [Link], sigue estos pasos:

1. Inicia sesión en tu cuenta de Kaggle haciendo clic en Iniciar sesión en la esquina


superior derecha.

2. Dirígete a la pestaña Debates, ubicada en el menú sobre la izquierda. Selecciona la


categoría Primeros pasos.

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.

analizaremos las características


y las funciones principales de R, y
sus ventajas para el análisis de datos

.
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.

la comunidad de R es la mejor. Esa comunidad dinámica, diversa y


accesible es muy solidaria con los nuevos estudiantes.
Puedes conectarte en cualquier momento para buscar
respuestas a todas tus preguntas relacionadas con R. Visita sitios web como R for
Data Science Online Learning Community y RStudio Community.
Además de eso, los usuarios de R están en
Twitter y en otras redes sociales.

situaciones específicas en las que podrías utilizarlo

reproducir tu análisis, procesar muchos


datos y crear visualizaciones de datos.

.
Si trabajas con paquetes más avanzados,
puedes realizar visualizaciones de datos realmente impresionantes.

Introducción a RStudio

RStudio Cloud, pero


RStudio funciona de manera similar en todas las plataformas.
Así que siéntete libre de usar la plataforma con la que estés más cómodo.
Más adelante, si quieres aprender más, encontrarás los recursos para descargar e
instalar RStudio en tu dispositivo.
RStudio es un IDE o entorno de desarrollo integrado.

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.

Tool > Keyboard Shortcuts Help

Para aprender más acerca de cualquier función de R,


simplemente ejecuta el código signo de pregunta nombre de función.
Por ejemplo, si quieres aprender más
acerca de la función geom_point,
escribe signo de pregunta geom_point.

o alguien que se inicia,


quizás no comprendas
todos los conceptos en la página de ayuda.
En la parte inferior de la página,
puedes encontrar ejemplos específicos de
código que pueden mostrarte cómo resolver tu problem
Paneles
RStudio tiene cuatro ventanas principales denominadas paneles.
Cada panel te ayuda a realizar distintas funciones.
La primera vez que abres RStudio verás tres paneles.
El cuarto panel está oculto por defecto, pero puedes abrirlo con facilidad.

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.

Haz clic en el botón Paneles para ver más opciones de funciones.


View > Panes

Paneles de RStudio

RStudio tiene cuatro paneles principales:

 Consola: Aquí es donde ingresas comandos R.


 Editor de código: Aquí es donde escribes y editas scripts R.
 Entorno: Aquí es donde se muestran los objetos y datos cargados.
 Archivos, gráficos, paquetes y ayuda: Aquí puedes administrar archivos, ver
gráficos, instalar paquetes y acceder a ayuda.

La consola de R

Inferior izquierda
Para repasar rápidamente, la consola es el lugar desde donde le das órdenes a R.

editor de código fuente.


parte superior izquierda, se encuentra el panel de editor de código fuente.
Utilizarás el editor de código fuente cuando trabajes con R Scripts.
Hay dos maneras principales de escribir códigos en RStudio: utilizando la consola o
utilizando el editor de código fuente.
Puedes escribir comandos directamente en la consola, pero
desaparecerán cuando cierres la sesión en curso
Como hemos comentado, es importante poder reproducir y
compartir todos los pasos de tu análisis.
Si guardas tu script en el editor,
puedes volver a acceder a tu trabajo en cualquier momento y mostrar a otros cómo lo
hiciste.

El editor de código fuente y la consola también trabajan en conjunto en RStudio.


Cuando ejecutas el código en el editor, el código automáticamente aparece en la consola.
Si estás trabajando en un análisis largo, eso facilita la ejecución
de todo el código al mismo tiempo o de algunas secciones específicas a medida que
avanzas.
Ejecutemos una parte del código en el editor para verificarlo.

Panel Entorno

Aquí es donde se muestran los objetos y datos cargados.

en la parte superior derecha.


Aquí encontrarás todos los datos que has cargado en este momento y
podrás organizarlos y guardarlos.
Por ejemplo, si importas datos de una hoja de cálculo,
estará visible en el panel Entorno.
Puedes ver cada objeto en el panel Entorno si haces clic sobre él.
También puedes alternar entre una vista de Lista y una vista de Cuadrícula.
pestaña Historial.
A la derecha de la pestaña Entorno encontrarás la pestaña Historial.
Todos tus comandos anteriores están guardados aquí, y es fácil encontrarlos y volver a
ejecutarlos.
Encontrarás la línea de código más reciente al final de la lista.
Puedes copiar cualquier línea a la consola de comando si haces doble clic sobre ella.

panel que tiene las pestañas Archivos, Diagramas, Paquetes y


Ayuda.
En la parte inferior derecha,

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.

Acceder a RStudio Cloud


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.

1 Registra una cuenta en la página de registro de RStudio Cloud.

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.

. 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.
Pregunta 1

Resumen de la actividad

Hasta ahora, aprendiste acerca de RStudio, un entorno de desarrollo integrado que te


permite crear y gestionar proyectos con más eficacia usando R. En esta actividad,
aprenderás a acceder a la versión en la nube de RStudio.

Cuando completes esta actividad, conocerás más en profundidad la interfaz de RStudio y


tendrás más confianza a la hora de usar sus herramientas básicas. Este es un paso
fundamental para prepararte para las próximas actividades de este curso en las que usemos
RStudio. Esta actividad práctica, así como las próximas actividades en RStudio que vas a
completar, son esenciales para desarrollar destrezas para programar en R que te permitirán
insertarte en el mercado laboral.

Acceder a RStudio Cloud

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.

También puedes instalar la versión de escritorio: Descárgala siguiendo los pasos de la


siguiente actividad (opcional). Esta es una buena alternativa si quieres trabajar con R sin
conexión.

Para acceder a RStudio Cloud, sigue estos pasos:

1. Registra una cuenta en la página de registro de RStudio Cloud

.
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.

Instalar y cargar paquetes

Una vez que hayas abierto un nuevo proyecto en tu consola, puedes instalar paquetes en
RStudio Cloud.

Los paquetes son unidades de código R reproducible. Los miembros de la comunidad R


crean paquetes para llevar un control de las funciones de R que escriben y vuelven a usar.
Los paquetes constituyen una combinación útil entre códigos, funciones en R que puedes
volver a utilizar, documentos descriptivos, pruebas para revisar tu código y conjuntos de
datos de muestra.

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:

1. En la parte inferior de la consola, escribe [Link]("tidyverse") y presiona


Enter (Windows) o Return (Mac).

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)

3. Carga el paquete lubridate. Escribe library(lubridate) en el panel de la consola y presiona


Enter (Windows) o Return (Mac).

Cuándo usar RStudio


¿Por qué usar RStudio?

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.

El mejor momento de 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.

Para obtener más información

 Las ventajas de RStudio

 : 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.

 Análisis de datos y programación con R

 : Esta introducción en línea al análisis de datos y la programación en R constituye


un buen punto de partida para usuarios de R y RStudio. También incluye una lista
de explicaciones detalladas sobre las ventajas de usar R y RStudio. Además,
encontrarás una guía útil para configurar RStudio.
Conectarte con otros analistas de datos en
la comunidad R

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:

 El foro RStudio Community es un excelente lugar para obtener ayuda y encontrar


soluciones para los desafíos que propone R. ¡Quizá hasta puedas ayudar a otros también!
 r/RLanguage

 : La comunidad subreddit del lenguaje R es una comunidad activa en línea alojada en la


plataforma de redes Reddit. Los usuarios de R acuden a esta comunidad para conversar
sobre R, hacer preguntas y compartir consejos.

 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.

 Comunidad de aprendizaje en línea de R4DS y canal Slack:

 Comunidad con otro canal de Slack donde quienes aprenden a programar en R y


también los mentores pueden juntarse y conectarse. Es un excelente lugar para conversar
sobre cómo usar R para la ciencia de datos.

 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.

 Reuniones locales sobre análisis computacional de datos:

 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:

 Esta lista contiene enlaces a las comunidades regionales de R, incluidos subreddits y


grupos de reunión. Es un recurso útil si te interesa encontrar a otros usuarios de R por tu
zona.

 Reuniones de RLadies:

Reuniones virtuales y en persona que se organizan específicamente para aficionados a R que se


autoperciben como pertenecientes a grupos minoritarios o marginalizados. Estas reuniones
también se organizan por locación, así que puedes conectarte con otros analistas de datos de tu
zona.

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.

anto el paréntesis de cierre como


la comilla de cierre emergen automáticamente porque RStudio reconoce esta sintaxis.
Ahora tenemos que agregar la siguiente cadena de texto.
Escribiremos "Coding in R".

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".

First_variable <-“This is my 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.

c(2.5, 48.5, 101.5)

Para crear un vector de números enteros utilizando la función c(), debes colocar una "L"
directamente después de cada número.

c(1L, 5L, 15L)

También puedes crear un vector que contenga caracteres o valores lógicos.

c(“Sara” , “Lisa” , “Anna”)


c(TRUE, FALSE, TRUE)

Determinar las propiedades de los vectores

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”))

#> [1] "character"

Observa que el resultado de la función typeof en este ejemplo es la palabra “character”.


Del mismo modo, si utilizas la función typeof en un vector con valores enteros, el resultado
va a incluir “integer” :

typeof(c(1L , 3L))

#> [1] "integer"

Puedes determinar la longitud de un vector existente, es decir, el número de elementos que


contiene, utilizando la función length(). En este ejemplo, podemos utilizar un operador de
asignación para asignar al vector la variable x. Luego, aplicamos la función length() a la
variable. Cuando ejecutamos la función, R nos indica que la longitud es 3.

x <- c(33.5, 57.75, 120.05)

length(x)

#> [1] 3

También puedes verificar si un vector es de un tipo específico mediante la función is:


[Link]() [Link](), [Link](), [Link](). En este ejemplo, R resulta TRUE
porque el vector contiene valores enteros.

x <- c(2L, 5L, 11L)

[Link](x)

#> [1] TRUE

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)

#> [1] FALSE

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.

names(x) <- c("a", "b", "c")

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("a", 1L, 1.5, TRUE)


Como ya mencionamos, las listas pueden contener otras listas. Si lo deseas, puedes
almacenar una lista dentro de otra y continuar así.

list(list(list(1 , 3, 5)))

Determinar la estructura de las listas

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.

Apliquemos la función str() a nuestro primer ejemplo de una lista.

str(list("a", 1L, 1.5, TRUE))

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

#> $ : chr "a"

#> $ : int 1

#> $ : num 1.5

#> $ : logi TRUE

Utilicemos la función str() para descubrir la estructura de nuestro segundo ejemplo.


Primero, asignemos la lista a la variable z para facilitar la introducción de la función str().

z <- list(list(list(1 , 3, 5)))

Vamos a ejecutar la función.

str(z)

#> List of 1

#> $ :List of 1

#> ..$ :List of 3

#> .. ..$ : num 1


#> .. ..$ : num 3

#> .. ..$ : num 5

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).

Poner nombre a las listas

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():

list('Chicago' = 1, 'New York' = 2, 'Los Angeles' = 3)

$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.

Primero, abre RStudio.


Si todavía no instalaste tidyverse, puedes utilizar la función [Link] () para ello:

 [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)

Luego, carga el paquete lubridate:

 library(lubridate)

Tipos

En R, hay tres tipos de datos que hacen referencia a un instante en el tiempo:

 Una fecha ("2016-08-16")


 Una hora de un día (“20:11:59 UTC")
 Y una fecha-hora. Esto es una fecha más una hora ("2018-03-31 18:15:48 UTC")

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()

#> [1] "2021-01-20"

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()

#> [1] "2021-01-20 16:25:05 UTC"

Al trabajar con R, hay tres modos posibles de crear formatos de fecha-hora:

 Desde una cadena


 Desde una fecha individual
 Desde un objeto de fecha/hora existente

R crea fechas en el formato estándar yyyy-mm-dd (año-mes-día) por defecto.

Convertir a partir de una cadena

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")

Cuando ejecutes la función en R, el resultado para la fecha será el formato yyyy-mm-dd.

#> [1] "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.

mdy("January 20th, 2021")

#> [1] "2021-01-20"

O día, mes y año. R arroja como resultado la fecha en el formato yyyy-mm-dd.

dmy("20-Jan-2021")

#> [1] "2021-01-20"

Estas funciones también toman números que no están entre comillas y los convierte al
formato yyyy-mm-yy.

ymd(20210120)

#> [1] "2021-01-20"

Crear componentes de fecha-hora

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")

#> [1] "2021-01-20 08:01:00 UTC"

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())

#> [1] "2021-01-20"

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.

Otras estructuras comunes de datos

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.

Si necesitas crear manualmente un marco de datos en R, puedes utilizar la función


[Link](). La función [Link]() considera a los vectores como entradas. En el
paréntesis, escribe el nombre de la columna, seguido de un signo igual y, luego, el vector
que deseas escribir para esa columna. En este ejemplo, la columna x es un vector con
elementos 1, 2 y 3 y la columna y es un vector con elementos 1.5, 5.5, 7.5.

[Link](x = c(1, 2, 3) , y = c(1.5, 5.5, 7.5))

Si ejecutas la función, R muestra el marco de datos en filas y columnas ordenadas.

En la mayoría de los casos, no necesitarás crear un marco de datos manualmente ya que, en


general, importarás los datos desde otra fuente, por ejemplo, un archivo .csv, una base de
datos relacional o un programa de software.

Archivos
Para más información sobre cómo trabajar con archivos en R,

Repasemos cómo crear, copiar y eliminar archivos en R, consulta Documentación en R:


Archivos

. La documentación en R es una herramienta que te facilitará encontrar y navegar por la


documentación de casi todos los paquetes de R en CRAN. Es una guía útil de referencia para
funciones en código R. Veamos algunas otras de las funciones más útiles para trabajar con
archivos.

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”)

Si el archivo se crea exitosamente cuando ejecutas la función en R, el valor obtenido será


TRUE (si no, R arrojará como resultado FALSE).

[Link] (“new_csv_file.csv”)

[1] TRUE

Se puede copiar un archivo mediante la función [Link](). Entre paréntesis, agrega el


nombre del archivo a copiar. Luego, escribe una coma y agrega el nombre de la carpeta de
destino a la que quieres copiar el archivo.

[Link] (“new_text_file.txt” , “destination_folder”)

Si te fijas en el panel de Archivos en RStudio, aparece una copia del archivo en la carpeta
correspondiente:

Puedes eliminar archivos de R utilizando la función unlink(). Escribe el nombre del


archivo entre los paréntesis de la función.

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] [,2] [,3]

[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)

Cuando ejecutes la función, R intuirá automáticamente cuál es el número de filas.

[,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.

Los operadores de asignación te permiten asignar valores a las variables.

En muchos lenguajes de programación de secuencias de comandos se puede usar


simplemente el signo igual (=) para asignar una variable. Para R, la mejor práctica es usar
la asignación de flechas (<-). Técnicamente, la asignación de una flecha se puede usar en la
dirección izquierda o derecha. Sin embargo, la asignación hacia la derecha no se utiliza
generalmente en código R.

También se puede usar la asignación de doble flecha, conocida como asignación de


alcance. Pero la asignación de alcance es para usuarios avanzados de R, así que no la
aprenderás en esta lectura.

La tabla a continuación resume los operadores de asignación y el código de ejemplo en R.


Observa que el resultado de cada variable es su valor asignado.

Código de ejemplo (después del código


de ejemplo que aparece a continuación,
Operador Descripción Resultado/Salida
al escribir x se generará el resultado en
la siguiente columna)
Asignación a la
<- x <- 2 [1] 2
izquierda
Asignación a la
<<- x <<- 7 [1] 7
izquierda
Asignación a la
= x=9 [1] 9
izquierda
Asignación a la
-> 11 -> x [1] 11
derecha
Asignación a la
->> 21 ->> x [1] 21
derecha
Operadores de relacionales

os operadores relacionales, también conocidos como comparadores, permiten comparar


valores. Los operadores relacionales identifican cómo se relaciona un objeto R con otro,
por ejemplo, si un objeto es menor, igual o mayor que otro. El resultado de los operadores
relacionales es TRUE o FALSE (que es un tipo de dato lógico o booleano).

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

Operador Descripción Código de ejemplo Resultado/Salida


< Menor que x<y [1] TRUE
> Mayor que x>y [1] FALSE
<= Menor que o igual a x<=2 [1] TRUE
>= Mayor que o igual a y >= 10 [1] FALSE
== Igual a y == 5 [1] TRUE
!= No igual a x != 2 [1] FALSE

operadores aritméticos.
+,-,*,/
mitaddeaño_ventas >- wdsdw+wdsdw

Los operadores aritméticos te permiten realizar operaciones matemáticas básicas como


suma, resta, multiplicación y división.

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

Operadores lógicos e instrucciones


condicionales
Operadores lógicos

Los operadores lógicos arrojan un tipo de dato lógico, por ejemplo, TRUE o FALSE.

Existen tres tipos principales de operadores lógicos:

 AND (algunas veces representado como & o && en R)


 OR (algunas veces representado como | o || en R)
 NOT (!)

Repasa más abajo el resumen de los operadores lógicos.

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.

x > 2 & x < 12

[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.

Probemos un ejemplo con la misma variable (x <- 10):

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.

 El operador OR (|) trabaja de un modo similar el operador AND (&). La diferencia


principal consiste en que, al menos, uno de los valores de la operación OR deber ser
TRUE para que toda la operación OR dé como resultado TRUE. Sin embargo,
TRUE | TRUE, TRUE | FALSE, y FALSE | TRUE arrojan como resultado TRUE.
Cuando ambos valores dan FALSE, el resultado es FALSE.

Si escribes el código, obtienes los siguientes resultados:

> TRUE | TRUE

[1] TRUE

> TRUE | FALSE

[1] TRUE

> FALSE | TRUE

[1] TRUE

> FALSE | FALSE

[1] FALSE

El operador NOT (“!”)

El operador NOT simplemente niega el valor lógico y evalúa su contrario. En R, cero se


considera FALSO y los números que no son cero se consideran VERDADERO.

Por ejemplo, apliquemos el operador NOT a nuestra variable (x <- 10):

!(x < 15)

[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.

Imagina que tienes una variable x que es igual a 2:

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).

> !x [1] FALSE

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.

Ejemplo del operador AND

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:

Ejemplo del operador OR

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.

En R, puedes expresar esta instrucción lógica como Día != 1.

Ejemplo Integrado

imagina que quieres concentrarte en escenarios que no son extremadamente soleados ni


ventosos, basándote en tus definiciones previas de extremadamente soleado y ventoso. En
otras palabras, la siguiente instrucción no debería ser verdadera: ya sea que haya una
medición Solar mayor que 150 o una medición de Wind mayor que 10.

Observa que esta instrucción es la opuesta de la instrucción OR utilizada anteriormente.


Para expresar esta instrucción en R, puedes colocar un signo de exclamación (!) frente a la
instrucción OR previa: !(Solar.R > 150 | Viento > 10). R aplicará el operador NOT a todo
lo que se encuentre entre paréntesis.

Instrucciones condicionales

Una instrucción condicional es una declaración de que si una determinada condición se


mantiene, entonces, debe producirse un determinado evento. Por ejemplo, "Si la
temperatura está por encima del punto de congelamiento, entonces, saldré a caminar". Si la
primera condición es verdadera (la temperatura está por encima del punto de
congelamiento), entonces la segunda condición sucederá (salir a caminar). Las
instrucciones condicionales en código R tienen una lógica similar.

Veamos ahora cómo crear instrucciones condicionales en R utilizando tres instrucciones


relacionadas:

 if()
 else()
 else if()

instrucción if

La instrucción if establece una condición y si la condición arroja como resultado TRUE, el


código R asociado a la instrucción if se ejecuta.
En R, escribes el código para la condición entre los paréntesis de la instrucción if. El código
que debe ser ejecutado si la condición da TRUE se escribe entre llaves (expr.) Observa que
en este caso, las segundas llaves se colocan en su propia línea del código e identifican el
final del código que quieres ejecutar.

if (condition) {

expr

Por ejemplo, creemos una variable x igual a 4.

x <- 4

Luego, creemos una instrucción condicional: si x es mayor que 0, entonces R imprimirá la


cadena "x es un número positivo".

if (x > 0) {

print("x is a positive number")

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".

[1] "x is a positive number"

Pero si cambias x a un número negativo, como -4, entonces, el resultado de la condición


será FALSE (-4 > 0). Si ejecutas el código, R no ejecutará el código impreso. En su lugar,
aparecerá una línea en blanco.

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
}

El código asociado a la instrucción else se ejecuta cada vez que la condición de la


instrucción if no sea TRUE. En otras palabras, si la condición es TRUE, entonces R
ejecutará el código en la instrucción if (expr1); si la condición no es TRUE, entonces R
ejecutará el código else en la instrucción else (expr2).

Veamos un ejemplo. Primero creemos una variable x igual a 7.

x <- 7

Ahora, establezcamos las siguientes condiciones:

 Si x es mayor que 0, R imprimirá "x es un número positivo".


 Si x es menor que o igual a 0, R imprimirá "x es un número negativo o cero".

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) {

print ("x is a positive number")

} else {

print ("x is either a negative number or zero")

Dado que 7 es mayor que 0, la condición de la instrucción if es verdadera. Por lo tanto,


cuando ejecutas el código, R imprime "x es un número positivo".

[1] "x is a positive number"

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 {

print ("x is either a negative number or zero")

[1] "x is either a negative number or zero"

instrucción else if

En algunos casos, podrías querer personalizar aún más tu instrucción condicional


agregando una condición else if. La instrucción else if se ubica entre la instrucción if y la
instrucción else. Esta es la estructura del código:

if (condition1) {

expr1

} else if (condition2) {

expr2

} else {

expr3

Si la condición if (condición1) se cumple, entonces R ejecuta el código en la primera


expresión (expr1). Si la condición if no se cumple, y la condición else if (condición2) se
cumple, entonces R ejecuta el código en la segunda expresión (expr2). Si ninguna de las
dos condiciones se cumple, R ejecuta el código en la tercera expresión (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.

Veamos un ejemplo. Primero creemos una variable x igual a 1 negativo ("-1").

Ahora, quieres establecer las siguientes condiciones:

 Si x es menor que 0, imprimir "x es un número negativo".


 Si x es igual a 0, imprimir " x es cero".
 De otro modo, imprimir "x es un número positivo".

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) {

print("x es un número negativo")

} else if (x == 0) {

print("x es cero")

} else {

print("x es un número positivo")

Como -1 es menor que 0, la condición de la instrucción if resulta TRUE y R imprime "x es


un número negativo".

[1] "x es un número negativo"

Si haces que x sea igual a 0, R comprobará primero la condición if (x < 0) y determinará


que es FALSE. Entonces, R evaluará la condición else if. Esta condición, x==0, es TRUE.
Por ello, en este caso R imprimirá "x es cero".

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

. DataCamp es un recurso muy popular para quienes estudian programación informática. El


tutorial abunda en ejemplos útiles de aplicaciones de codificación para operadores lógicos e
instrucciones condicionales (y operadores relacionales) y ofrece un buen panorama de cada tema
y las conexiones entre ellos.
Consejo profesional:

Recuerda que R distingue mayúsculas y minúsculas.


Aquí utilizamos una V mayúscula para la función View.

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.

GuíaGuardada- Manten tu código legible


Espacio aislado en R
Paso 1: Usando paquetes de R.
Los paquetes son una parte clave del trabajo con R. Contienen paquetes de
código llamados "funciones" que te permiten realizar una amplia gama de
tareas en R. Algunos de ellos incluso contienen conjuntos de datos que
puedes usar para practicar las habilidades que has estado aprendiendo a
lo largo de este curso.

Algunos paquetes están instalados por defecto, pero muchos otros se


pueden descargar de una fuente externa como la Red de Archivos R
Integrales, o CRAN.

En esta actividad, usted estará utilizando un paquete llamado


"tidiverso".El paquete "tidiverso" es en realidad una colección
individual que puede ayudarle a realizar una amplia variedad de tareas de
análisis.

Para instalar el paquete "tidiverse", ejecute el código en la parte de


código de abajo haciendo clic en el botón de flecha verde en la esquina
superior derecha. Cuando ejecutes un trozo de código en RMarkdown, la
salida aparecerá en el área .rmd y tu consola.

R.
[Link]("tidiverse")

Una vez que un paquete está instalado, puede cargarlo ejecutando la


función de la "library" (-library) con el nombre del paquete dentro de
los paréntesis, así:

R.
biblioteca (diviverso)
-

Instalación y cargar el paquete "tidiverso" puede tomar unos minutos--


asegúrese de esperar a que termine de ejecutarse antes de pasar a los
siguientes pasos.

Una vez que el trozo anterior haya terminado de ejecutarse, obtendrás un


informe que resume qué paquetes fueron cargados porque ejecutaste la
función de la . . El informe también le hará saber si hay alguna
"funciones" que tengan un conflicto, pero no tienes que preocuparte por
eso por ahora.

Paso 2: Ver datos


Muchos de los paquetes "diversos" contienen conjuntos de datos de muestra
que puedes usar para practicar tus habilidades de R. El conjunto
de datos de "diamonds" en el paquete "ggplot2-" es un gran ejemplo
para la previsualización de las funciones de la R.
Debido a que ya cargaste este paquete en el último paso, el conjunto de
datos de Diamonds está listo para que lo uses.

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)

Además de la sección () hay un número de otras funciones útiles que puede


utilizar para resumir o previsualizar los datos. Por ejemplo, las
funciones de "str() y "o vislumbran" (en las funciones" devuelven
resúmenes de cada columna en sus datos dispuestos horizontalmente. Puede
probar estas dos funciones ejecutando los trozos de código a
continuación:

str(diamonds)

glimpse(diamonds)

Como nota ambas se complementa y muestran información diferente y util

Otra función simple que puedes usar regularmente es la función de


"colnames() . Devuelve una lista de nombres de columnas de su conjunto de
datos. Puedes comprobar esta función ejecutando el trozo de código a
continuación:

colnames(diamonds)

Después de ejecutar el trozo de código, es posible que haya notado un


número entre paréntesis. Este número le ayuda a contar el número de
columnas en su conjunto de datos. Si tienes datos con un montón de
columnas y "colnames"() Imprime los resultados en varias líneas, cada
línea tendrá un número entre paréntesis al principio de la línea
indicando qué columna de número que es. Así, por ejemplo, "carat" es la
primera columna en el conjunto de datos de Diamonds. En la segunda línea,
está el número siete entre paréntesis; "precio" es la séptima columna.

Paso 3: Datos de limpieza- Cambiar nombre de columnas


Una de las tareas más frecuentes que tendrá que realizar como analista es
limpiar y organizar sus datos. R lo hace fácil. Hay muchas funciones que
puede utilizar para ayudarle a realizar tareas importantes de manera
fácil y rápida.

Por ejemplo, es posible que necesite cambiar el nombre de las columnas, o


variables, en sus datos. Hay una función para eso: "rename().
Puedes ver cómo funciona en el pedazo de abajo:
rename(diamonds, carat_new = carat)

Aquí, la función se está utilizando para cambiar el nombre de "carat" a


"carat-new". Este es un cambio bastante básico, pero "rename() tiene
muchas opciones que pueden ayudarte a hacer cambios más complejos en
todas las variables de tus datos.

Por ejemplo, puede cambiar el nombre de más de una variable en el mismo


código "rename(). El siguiente código muestra cómo:

rename(diamonds, carat_new = carat, cut_new = cut)

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:

summarize(diamonds, mean_carat = mean(carat))

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 4: Visualización de datos


Con R, puede crear visualizaciones de datos que sean simples y fáciles de
entender o complicadas y hermosas simplemente cambiando un poco de
código. R le permite presentar los mismos datos de muchas maneras
diferentes, lo que puede ayudarle a crear nuevos conocimientos o destacar
resultados importantes de datos. Uno de los paquetes de visualización
más utilizados es el paquete "ggplot2-" que se carga automáticamente
cuando instalas y cargas "tidiverso".El conjunto de datos de Diamonds que
has estado usando hasta ahora es un conjunto de datos "ggplot2-".

Para construir una visualización con la trama de capas de elementos de la


parcela junto con un símbolo de . Usted aprenderá mucho más acerca de
usar el curso más adelante en el curso, pero aquí hay una vista previa de
lo fácil y flexible que es hacer visuales usando código:

ggplot(data = diamonds, aes(x = carat, y = price)) +


geom_point()

El código de arriba toma los datos de Diamonds, traza la columna del


quilate en el eje X, la columna de precios en el eje Y, y representa los
datos como una trama de dispersión utilizando el comando "geom-point().
Eggplot2 hace que sea fácil modificar o mejorar tus visuales. Por
ejemplo, si querías cambiar el color de cada punto para que representara
otra variable, como el corte del diamante, puedes cambiar el código de
esta manera:

ggplot(data = diamonds, aes(x = carat, y = price, color = cut)) +


geom_point()

Paso 5: Documentación

Usted ha estado trabajando en un archivo de calificación de R, que le


permite poner código y escribir en el mismo lugar. R Markdown es un
lenguaje sencillo para añadir formato a los documentos de texto. Por
ejemplo, todos los encabezados de sección han sido formateados añadiendo
el comienzo de la línea. Markdown se puede utilizar para formatear el
texto de otras maneras, como la creación de listas de balas:

- Así que si tienes una lista de cosas.


- O quieres escribir balas por otra razón.
- Puedes hacerlo usando la marcación.

Cuando haya escrito, ejecutado y documentado su código en un documento de


calificación "R" como este, puede utilizar el botón de "knit" en la barra
de menú en la parte superior del panel de edición para exportar su
trabajo a un hermoso y legible documento para otros.

Conceptos básicos de R
Función

Contenido de código reutilizable para realizar tareas específicas en R

Argumento

Información necesaria para la ejecución de una función en R

Comentario

Texto útil que describe o explica el código R, precedido de #

Variable

Representación de un valor en R que puede almacenarse para uso posterior


Tipos de datos

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.

Los paquetes en R incluyen funciones en R reutilizables y


documentación sobre las funciones, incluido cómo usarlas.

También contienen muestras de conjuntos de datos y pruebas para


verificar tu código para asegurarte de que hace lo que quieres que haga.
Por defecto, R incluye un conjunto de paquetes denominados Base R que están disponibles
para su uso en RStudio cuando empiezas tu primera sesión de programación.

Antes de usar las funciones de uno de estos paquetes,


tuviste que cargarlo con un comando <i>library</i> como <i>library boot</i>, por ejemplo.
Descubramos con qué paquetes que ya tenemos en RStudio trabajaremos en nuestra
consola en lugar de, por ahora, un script
porque estamos practicando y no necesitamos guardar este código para más tarde.
lista de paquetes

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.

Paquetes más Usados


Si bien los paquetes preinstalados te brindan muchas funciones útiles,
hay incluso paquetes que expandirán más tus destrezas de programación.
Puedes encontrar miles de paquetes R con solo hacer una búsqueda en línea.
Una de las fuentes de paquetes más comúnmente usadas es CRAN.
CRAN significa Comprehensive R Archives Network.
Se trata de un archivo en línea con paquetes R, código fuente, manuales y documentación.

Para revisar nuestros paquetes,


ejecutaremos el comando
[Link] y allí está nuestra lista.
Concentrémonos en el paquete y en las columnas prioritarias.
La columna del paquete da el nombre del paquete como grupo o gráficos.
La columna prioritaria nos dice qué se necesita para usar funciones del paquete.
Si te encuentras con la palabra "base" en la columna prioritaria,
entonces, el paquete ya está instalado y cargado.

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

. CRAN almacena los códigos y documentos que te ayudarán a instalar paquetes en tu


propio espacio de RStudio.

Documentación de los paquetes

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.

Consulta el documento de Karl Broman llamado R Package Primer

para más información.

Elegir los paquetes correctos

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

 : La colección de tidyverse de paquetes de R está diseñada especialmente para trabajar


con datos. Es una biblioteca estándar para la mayoría de los analistas de datos, pero
también puedes descargar los paquetes en forma individual.

 Listado rápido de paquetes R útiles

 : Esta es la lista de apoyo de RStudio donde encontrarás paquetes útiles con


instrucciones de instalación y la descripción de su funcionalidad.

 Vista de tareas de CRAN

: 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.

Actualizar los Paquetes


Los paquetes disponibles en tidyverse cambian mucho, pero siempre puedes comprobar
las actualizaciones ejecutando tidyverse_update() en tu consola.
Puedes, entonces, actualizar los paquetes en un par de maneras.
Si usas la función <i>update packages</i>, actualizará todos tus paquetes.
Eso puede llevar un tiempo.
Por lo tanto, si solo deseas actualizar un paquete, puedes volver a usar la función
<i>install</i>
<i>packages</i> con el nombre del paquete como tu argumento entre paréntesis.

Error y Ayuda

También podrías encontrar mensajes de advertencia y error.


Una búsqueda rápida usando la pestaña Ayuda por lo general te dirá qué significa el
mensaje
y qué, si lo hay, necesitarás para abordarlo.

Leer las viñetas de tidyverse


Usando el código
browseVignettes("tidyverse")

Exploración paquetes núcleo de tidyverse


paquetes núcleo de tidyverse
que vimos anteriormente: ggplot2, tidyr, readr,
dplyr, tibble, purrr, stringr y forcats.

Ggplot2 se usa para visualización de datos, especialmente diagramas.


Con ggplot2, puedes crear una variedad de visualización de datos al aplicar
propiedades visuales diferentes a las variables de datos.

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.

Tibble trabaja con marcos de datos.

Purrr trabaja con funciones y


vectores que ayudan a que tu código sea más fácil de escribir y más expresivo.

Stringr incluye funciones que hacen que sea más fácil trabajar con cadenas.

Forcats proporciona herramientas que resuelven problemas comunes con factores.

Trabajo con canalizaciones

Una canalización es una herramienta en R que te ayuda a hacer que tu código


sea más eficiente y más fácil de leer y comprender.

es una herramienta en R para expresar


una secuencia de varias operaciones.
En otras palabras, toma el resultado de
una instrucción y lo convierte
en la entrada de la siguiente instrucción.
En lugar de escribir funciones
dentro de otras funciones,
podrías usar el operador de canalización para hacer el mismo trabajo.
En programación, decimos que está anidado (Nested)

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>.

filtered_tg <- filter(ToothGrowth,doose=0.5)


Error in `filter()`:
Paso
Clasificaremos con la función <i>arrange</i>.
Incluiremos el nombre
del conjunto de datos del filtro seguido
del nombre de la columna que queremos ordenar.
En este caso, <i>len</i>
quiere decir longitud del diente.
Cuando ejecutamos esta función,
el resultado aparece en la consola.

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.

orden ascendente: del menor e incrementan

Ejemplo de Función Anidada


Los datos se filtraron y ordenaron según nuestro código.
Intentemos otra manera de obtener el mismo resultado.
Usaremos una función anidada,
que es una función que está
completamente contenida dentro de otra función.
Así es la función anidada para
filtrar y ordenar este conjunto de datos.

arrange(filter(ToothGrowth,doose=0.5),len)

Observa que la función <i>filter</i> de


nuestro código es la función anidada.
Con funciones anidadas, leemos de adentro hacia afuera.
El código primero filtra los datos.
Luego, los organiza u ordena.
Ahora ejecutemos esto.
Ajustamos el código,
pero obtenemos el mismo resultado.

Ahora, usaremos una canalización.


A modo de recordatorio,
el operador usado para señalar una canalización es
un signo de porcentaje seguido por un
signo mayor que y otro signo de porcentaje.

insertar operadores de canalización:


Control Shift M para PC y Chromebooks,
y comando Shift M para
Mac.

Empezaremos con esta canalización asignándola a una variable.


filtered_toothgrow <- ToothGrowth %>%

Filter(dose==0.5) %>%

Luego, escribiremos el nombre del conjunto de datos


de donde estamos extrayendo los datos, ToothGrowth.
Usaremos nuestro atajo de teclado
para agregar el operador de canalización después de eso.
Ahora podemos presionar Enter para ir a la línea siguiente.
RStudio automáticamente agrega sangría a la línea siguiente,
reconociendo que es parte de la canalización.
Luego, filtraremos los datos.

filtered_toothgrow <- ToothGrowth %>%

Filter(dose== (1/2)) %>%

arrange(len)

No tenemos que señalar el conjunto de datos dentro del paréntesis,


como lo hicimos en ejemplos anteriores,
porque empezamos nuestra canalización con él.
La canalización aplica automáticamente el conjunto de datos a cada paso.

filtered_toothgrow <- ToothGrowth %>%

Filter(dose==0.5) %>%

arrange(len)

Finalicemos nuestra canalización


en una nueva línea con la función <i>arrange</i> y ordenemos los datos.

Nuestra canalización está configurada para llamar al conjunto de datos y, luego,


filtrar el conjunto de datos y ordenarlo.
Los tres métodos funcionan,
pero puedes ver cómo las canalizaciones ayudan a hacer
que tu programación sea más eficiente y esté menos desordenada.

Añadir promedio al ejemplo


Basándonos en nuestro ejemplo,
digamos que también queríamos
calcular la longitud promedio de los dientes
o <i>len</i> para cada uno de los dos suplementos en el estudio:
jugo de naranja u OJ y ácido ascórbico o VC.
Reemplazaremos la función <i>arrange</i>
por la función <i>group by</i>.

Esta función agrupará nuestros resultados por los dos suplementos.


Escribimos supp en el paréntesis y agregamos una canalización.
Esta vez estamos agregando una canalización
porque tenemos otra línea de código para agregar.

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.

verificar tu código una vez que programaste tu canalización.

RStudio agrega automáticamente


las sangrías a las líneas de código que son parte de una canalización.

Si una línea en tu código no tiene sangrías,


probablemente no fue agregada a la canalización.
Eso podría llevar a un error de instrucción.

Recursos R con más ayuda


La comunidad R está repleta de usuarios dedicados que se ayudan mutuamente para
encontrar soluciones a los problemas y nuevas maneras de utilizar R. También hay un gran
número de excelentes blogs donde puedes encontrar tutoriales y otros recursos. Aquí
mencionamos algunos:

 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

 más recientes o utilizar la barra de búsqueda y la lista de categorías a la izquierda de la


página para explorar temas específicos que podrían resultarte interesantes o buscar una
publicación específica.

 Stack Overflow:

 El blog Stack Overflow publica opiniones y consejos de otros codificadores. Es un gran


punto de partida para estar en contacto con las conversaciones que ocurren en una
comunidad.

 R-Bloggers:

 El blog R-bloggers cuenta con tutoriales útiles y artículos con noticias publicados por
otros usuarios de R en la comunidad.

 Tutoriales de R-Bloggers para aprender R:

Este blog R-Bloggers compila algunos tutoriales básicos de R y también tiene enlaces a guías más
avanzadas.

Consejos para codificar


cualquier tipo de script,
o cuando estás codificando, es
estructurarlo para que sea legible en general.
La mayoría de las veces,
vas a trabajar en un equipo.
Es importante que cuando escribas un script
entiendas cómo funciona,
pero también que algún colega
pueda acercarse y
comprender qué es lo que
estás tratando de hacer con ese script.

Ahora bien, es muy importante que


no solo funcione y sea eficiente,
sino que tampoco sobreabunden las palabras,
es decir, que no sea extremadamente complicado.

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?

Que tu código sea dinámico.


Esto significa que no hay que rigidizar los valores
en tu código, de modo
que no cambien cuando sea necesario.

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>.

función <i>structure str() </i>para resaltar la estructura


de este marco de datos.
Esto nos aporta información de alto nivel como los nombres de las columnas y
el tipo de datos dentro de esas columnas.
Pero si solo queremos saber los nombres de las columnas, podemos usar <i>colnames</i>,
en su lugar.
Hacer Cambios en las tablas
usar la función <i>mutate </i>para hacer cambios en nuestro marco de datos.
La función <i>mutate</i> forma parte del paquete dplyr que está en tidyverse.
Entonces, tendrás que cargar la biblioteca tidyverse antes de probar la función
<i>mutate</i>.

Después queremos calcular esta nueva columna.


En este caso, para facilitar la lectura de la columna <i>quilate</i>, lo
multiplicaremos por 100 para crear una nueva columna <i>carat_2</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)

tibbles- Marcos de Datos simplificados


Los tibbles difieren un poco de los marcos de datos estándar. Un marco de datos es un conjunto
de columnas, como una hoja de cálculo o una tabla SQL. Los tibbles son como marcos de datos
simplificados que se configuran automáticamente para mostrar solo las 10 primeras filas de un
conjunto de datos, y solo tantas columnas como puedan caber en la pantalla. Son muy útiles
cuando estás trabajando con grandes conjuntos de datos. A diferencia de los marcos de datos, los
tibbles nunca cambian los nombres de las variables, ni los tipos de datos de las entradas. En
general, puedes hacer más cambios en los marcos de datos básicos, pero los tibbles son más
fáciles de usar. El paquete tibble forma parte del núcleo de tidyverse. fAsí que, si ya instalaste
tidyverse, tienes lo que necesitas para empezar a trabajar con tibbles.

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

Cuando se ejecuta la función, se obtiene un tibble del conjunto de datos diamonds.

Mientras que la herramienta integrada de marco de datos de RStudio devuelve miles de


filas en el conjunto de datos diamonds, el tibble solo devuelve las 10 primeras filas en una
tabla bien organizada. Esto lo hace más fácil para ver e imprimir.
Recursos adicionales

Para más información sobre los tibbles, consulta los siguientes recursos:

 La entrada para Tibble

 en la documentación de tidyverse resume qué es un tibble y cómo funciona en código R.


Si quieres un resumen rápido de lo esencial, este es el lugar adonde debes ir.

 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

...y luego presionar ctrl (o cmnd) y la tecla Enter.

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

 en la documentación de tidyverse ofrece una buena descripción general de las funciones


básicas de readxl, proporciona una explicación detallada de cómo funciona el paquete y los
conceptos de codificación ocultos, y ofrece enlaces a otros recursos útiles.

 El paquete "datasets" de R contiene muchos conjuntos de datos útiles precargados.


Consulta El paquete de conjunto de datos de R

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`

Crear un marco de datos


Paso 2: Crear un marco de datos
A veces, necesitarás generar un marco de datos directamente en `R`.
Existen diversas maneras de hacerlo; una de las más comunes es crear
vectores de datos individuales y, luego, combinarlos en un marco de datos
usando la función `[Link]()`.

rimero, crea un vector de nombres insertando cuatro nombres en este


bloque de código entre las comillas y, luego, ejecútalo:

```{r}
names <- c("", "", "", "")

Luego, crea un vector de edades agregando cuatro edades separadas por


comas al bloque de código que aparece debajo. Asegúrate de ingresar
valores numéricos para las edades o podrÃas tener un error.

```{r}
age <- c(, , , )

Con estos dos vectores, puedes crear un nuevo marco de datos llamado
`people`:

```{r}
people <- [Link](names, age)

Paso 3: Inspeccionar el marco de datos


Ahora que tienes este marco de datos, puedes usar algunas funciones
diferentes para inspeccionarlo.

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

Además de `head()`, existen otras funciones útiles para resumir o


previsualizar tus datos. Por ejemplo, las funciones `str()` y `glimpse()`
ofrecen resúmenes de cada columna en tus datos organizados
horizontalmente. Puedes ver estas dos funciones en acción ejecutando los
bloques de código que aparecen a continuación:

```{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)

Importar y trabajar con datos (Limpieza)


Paso 1: Cargar paquetes
Comienza instalando el paquete requerido. Si ya instalaste y cargaste
`tidyverse` en esta sesión, puedes saltearte los bloques de código en
este paso.

```{r}
[Link]("tidyverse")
```

Una vez que un paquete está instalado, podemos cargarlo ejecutando la


función `library()` con el nombre del paquete dentro de los paréntesis:

```{r}
library(tidyverse)

Paso 2: Importar datos


Uno de los tipos de archivo más comunes que los analistas de datos
importan a `R` son los archivos de valores separados por comas o archivos
.csv. El archivo `readr` del paquete de la biblioteca `tidyverse` tiene
diversas funciones para "cargar" o importar datos, entre ellos
archivos .csv y otras fuentes externas.

En el bloque que aparece a continuación, usa la función `read_csv()`


para importar datos de un archivo .csv llamado "hotel_bookings.csv" en la
carpeta del proyecto y guárdalos como un marco de datos llamado
`bookings_df`:

Si esta lÃnea provoca un error, copia la lÃnea setwd("projects/Course


7/Week 3") antes de ella.

Los resultados se mostrarán como especificaciones de columna:

```{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.

Paso 3: Inspeccionar y limpiar datos


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. Verifica la función `head()` ejecutando el bloque que aparece a
continuación:

```{r}
head(bookings_df)
```

Verifica la función `srt()` ejecutando el bloque de código que aparece


a continuación:
```{r}
str(bookings_df)
```

Para averiguar qué columnas tienes en tu marco de datos, prueba ejecutar


la función `colnames()` en el bloque de código que aparece a
continuación:

```{r}
colnames(bookings_df)
```

Si quieres crear otro marco de datos usando `bookings_df` que se enfoca


en la tarifa diaria promedio, que se indica como `adr` en el marco de
datos y `adults`, puedes usar el siguiente bloque de código para
hacerlo:

```{r}
new_df <- select(bookings_df, `adr`, adults)
```

Para crear nuevas variables en tu marco de datos, puedes usar la función


`mutate()`. Esto realizará cambios en el marco de datos, pero no en el
conjunto de datos original que importaste. Los datos fuente no se
modificarán.

```{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

Paquetes Skimr y Janitor.


A modo de recordatorio,
estos paquetes simplifican las tareas de limpieza de datos.

Instala dplyr
Instalar Datos Pinguinos:

Escribiremos <i>[Link]</i> e ingresaremos la palabra <i>palmerpenguins</i>.

Después, recuerda cargarlo usando la función <i>library</i>.a

Funciones Limpieza de Datos


<i>Skim without charts</i>, <i>glimpse</i>, <i>head</i> y <i>select</i>.

Skim_without_charts
nos ofrece
un buen resumen completo
de un conjunto de datos.

Primero, nos da un resumen con el nombre


del conjunto de datos y el número de filas y columnas.
También nos proporciona los tipos de columnas y
un resumen de los diferentes tipos de datos
contenidos en el marco 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.

Función <i> summarize</i>


para especificar
ciertas columnas o para
excluir columnas que no necesitemos justo ahora.
Digamos que solo necesitamos comprobar la columna de especies.
Podemos ingresar la palabra <i>penguins</i>,
luego una canalización para indicar que
añadiremos otro comando, y nuestra selección.
Retomemos el tema de la
cadena en R porque será más fácil para verlo.

Ya tenemos la columna de especies,


o quizás queramos todo excepto la columna de especies.
Pondremos <i>minus species</i> en lugar de <i>species</i>

penguins %>%

select(-species)

Es útil para obtener


solo un subconjunto de variables de un conjunto de datos grande.
Esto te permite concentrarte en grupos específicos de variables.

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>.

función <i>rename_with()</i> puede


cambiar los nombres de las columnas para que sean más coherentes.
Por ejemplo, tal vez queramos que todos
los nombres de nuestras columnas estén en mayúscula.
Podemos usar la función <i>rename_with()</i> para hacer eso.
Esto pasará automáticamente los nombres de nuestras columnas a letra mayúscula.
Pero como los nombres de las variables suelen estar en minúscula,
usaremos la opción <i>"Tolower"</i> para volver a cambiarlo.

rename_with(penguins,toupper)

rename_with(penguins,tolower)

tolower

 Converts all characters in a string to lowercase.


 Does not affect non-alphabetic characters.

toupper

 Converts all characters in a string to uppercase.


 Does not affect non-alphabetic characters.

Example

x <- c("Hello", "World", "123")


tolower(x)
# [1] "hello" "world" "123"
toupper(x)
# [1] "HELLO" "WORLD" "123"

función <i>clean names</i>


en el paquete Janitor
verificará automáticamente que
los nombres de las columnas sean exclusivos y coherentes.
Probemos la función <i>clean names</i> en nuestros datos de pingüinos.
Esto garantiza que solo haya caracteres,
números y guiones bajos en los nombres.
Convenciones de nomenclatura de
archivos
Una parte importante de la limpieza de datos es asegurarse de que todos los archivos tienen
el nombre correcto. Aunque las preferencias individuales varían un poco, la mayoría de los
analistas suelen estar de acuerdo en que los nombres de los archivos deben ser precisos,
coherentes y fáciles de leer. Esta lectura proporciona algunas pautas generales para que
sigas al nombrar o renombrar tus archivos de datos.

Qué hay en un nombre (de archivo)?

Cuando empieces a trabajar con R (o con cualquier otro lenguaje de programación,


herramienta de análisis o plataforma, en realidad), tú o tu empresa deberían establecer
convenciones de nomenclatura para los archivos. Esto ayuda a garantizar que cualquier
persona que revise tu análisis -incluido tú mismo- pueda encontrar rápida y fácilmente lo
que necesita. A continuación, te ofrecemos algunos consejos útiles que debes tener en
cuenta a la hora de nombrar tus archivos.

 Mantén los nombres de los archivos con una longitud razonable


 Usa guiones bajos y guiones para facilitar la lectura
 Empieza o termina el nombre del archivo con una letra o un número
 Usa un formato de fecha estándar cuando corresponda; ejemplo: AAAA-MM-DD
 Usa nombres de archivos relacionados que funcionen bien con la ordenación
predeterminada; por ejemplo: en orden cronológico o en orden lógico utilizando
primero los números

Ejemplos de buenos nombres de archivos:


2020-04-10_march-attendance.R
2021_03_20_new_customer_ids.csv
01_data-[Link]
02_data-[Link]
No

 Uses caracteres adicionales innecesarios en los nombres de archivo


 Uses espacios o caracteres "ilegales"; ejemplos: &, %, #, < o >
 Empieces o termines el nombre del archivo con un símbolo
 Uses formatos de fecha incompletos o incoherentes; ejemplo M-D-AA
 Uses nombres de archivos relacionados que no funcionan bien con el ordenamiento
predeterminado; ejemplos: un sistema aleatorio de números o formatos de fecha, o
utilizar letras primero
Ejemplos de nombres de archivo a ser evitados
4102020marchattendance<workinprogress>.R
_20210320*[Link]
firstfile_for_datasales/[Link]
secondfile_for_datasales/[Link]

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.

 Cómo nombrar archivos

 : 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.

 Nombres y estructura de los archivos

: 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.

Organiza tus datos


Funciones <i>arrange</i>, <i>group by</i> y <i>filter</i>.

Se guiremos trabajando con los datos de los pingüinos de Palmer que ya hemos usado.

En caso de que no lo recuerdes, consulta el siguiente enlace.


También tendremos que cargar los paquetes correctos.
Todos los paquetes que necesitaremos forman parte del núcleo de tidyverse.
Así que carguemos ahora el núcleo de tidyverse.

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.

penguins %>% arrange(bill_length_mm)

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)

función<i> </i><i>group by </i> y <i>summarize</i>


función<i> </i><i>group by </i>suele combinarse con otras funciones.
Por ejemplo, podríamos querer agrupar mediante una columna en particular y
luego realizar una operación en esos grupos. Con nuestros datos de pingüinos,
podemos agrupar por isla y
luego usar la función <i>summarize</i> para obtener la longitud de pico promedio.
Ya vimos la función <i>summarize</i> cuando presentamos la canalización. Básicamente,
la función
<i>summarize</i> nos permite obtener información de alto nivel sobre nuestros datos de
pingüinos.
Así que primero vamos a crear nuestro grupo mediante una instrucción.

No nos interesan los valores NA, así que


podemos excluirlos mediante el argumento <i>drop_NA</i>.
Esto se aplica a cualquier valor faltante en nuestro conjunto de datos.
Es importante tener cuidado cuando usamos <i>drop_na</i>.
Es útil hacer una estadística de resumen a nivel grupal como esta, pero
eliminará filas de los datos.
Ahora usemos <i>summarize</i>. Nombraremos la columna de resumen
como longitud media del pico en milímetros.
Y, luego, crearemos la instrucción de valor medio.

penguins %>% group_by(island) %>% drop_na() %>% summarise(mean_bill_length_mm =


mean(bill_length_mm))
Y cuando ejecutamos esto, obtenemos un marco de datos con tres islas y
la longitud media del pico de los pingüinos que viven allí.

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>.

penguins %>% group_by(island) %>% drop_na() %>% summarise(max_bill_length_mm =


max(bill_length_mm))

Tanto <i>group by</i>, como <i>summarize</i>, pueden realizar múltiples tareas.


Por ejemplo, podríamos agrupar por isla y por especies y
luego resumir para calcular el valor medio y el máximo.
Para hacer eso, podemos escribir un comando similar. Pondremos especie e
isla en nuestra función <i>group by</i> y anularemos los valores que faltan.

Y luego podemos agregar una instrucción


<i>summarize</i> con un cálculo de valor máximo
y medio.

penguins %>% group_by(species, island) %>% drop_na() %>% summarise(max_bl =


max(bill_length_mm), mean_bl = mean(bill_length_mm))

Y cuando ejecutamos esto,


tenemos ambas agrupaciones y
el valor máximo y medio.
Gracias a la canalización podemos combinar todas estas tareas de limpieza y
transformación de datos en un bloque de código.

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.

unciones <i>separate</i>, <i>unite</i> y <i>mutate</i>

Limpiar datos en R

Paso 1: Cargar paquetes

[Link]("tidyverse")
[Link]("skimr")
[Link]("janitor")
```

library(tidyverse)
library(skimr)
library(janitor)

Paso 2: Importar datos


library(readr)
> Hoteles_ <- read_csv("~/Curso Google/Hoteles....csv")

Paso 3: Conocer tus datos

head(bookings_df)
```
str(bookings_df)

glimpse(bookings_df)
colnames(bookings_df)

skim_without_charts(bookings_df)

Paso 4: Limpiar los datos


Según tus notas, te interesan principalmente las siguientes variables:
hotel, is_canceled, lead_time. Crea un nuevo marco de datos solo con esas
columnas y llámalo `trimmed_df`.

```{r}
trimmed_df <- bookings_df %>%
select(hotel, is_canceled, lead_time)
```

Renombra la variable 'hotel' como 'hotel_type' para dejar clarÃsimo de


qué se tratan los datos:

```{r}
trimmed_df %>%
select(hotel, is_canceled, lead_time) %>%
rename(hotel_type = hotel)
```

En este ejemplo, puedes combinar el mes y el año de llegada en una


columna usando la función unite():

```{r}
example_df <- bookings_df %>%
select(arrival_date_year, arrival_date_month) %>%
unite(arrival_month_year, c("arrival_date_month", "arrival_date_year"),
sep = " ")

Paso 5: Otra manera de hacer las cosas


También puedes usar la función `mutate()` para hacer cambios en tus
columnas. Digamos que quieres crear una nueva columna que sume todos los
adultos, niños y bebés en una reserva para averiguar la cantidad total
de personas: Modifica el bloque de código debajo para crear esa nueva
columna:

```{r}
example_df <- bookings_df %>%
mutate(guests = adults + children + babies)

head(example_df)
```

Excelente. ¡Ahora es momento de calcular algunas estadÃsticas de


resumen! Calcula el número total de reservas canceladas y el tiempo
promedio de antelación de las reservas. Te recomendamos que comiences tu
código después del sÃmbolo %>%. Haz una columna llamada
'number_canceled' para representar el número total de reservas
canceladas. Luego, haz una columna llamada 'average_lead_time' para
representar el tiempo promedio de antelación de las reservas. Usa la
función `summarize()` para hacerlo en el bloque de código que aparece a
continuación:

```{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")

job_title <- c("Professional", "Programmer", "Management", "Clerical", "Developer",


"Programmer", "Management", "Clerical", "Developer", "Programmer")

employee <- [Link](id, name, job_title)

print(employee)

Para empezar, crearemos un marco de datos desde cero.


Para este ejemplo, crearemos un marco de datos estándar, para
que podamos probar otras funciones.
Pero también puedes hacer un tribble aquí, ya que estamos ingresando los datos en forma
manual.
Aprenderás más sobre tribbles en una lectura.

Para empezar, crearemos un marco de datos desde cero.


Para este ejemplo, crearemos un marco de datos estándar, para
que podamos probar otras funciones.
Pero también puedes hacer un tribble aquí, ya que estamos ingresando los datos en forma
manual.
Aprenderás más sobre tribbles en una lectura.

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.

función <i>separate </i>

library(tidyverse)
library(skimr)
library(janitor)
separate(employee, name, into = c('first_name', 'last_name'), sep = ' ')

Ahora mismo, el nombre y el apellido se combinan en una columna.


Podemos usar la función <i>separate </i>para dividir esos datos en columnas separadas.
Empezaremos con estos datos separados, y luego con el marco de datos que queremos
trabajar y
la columna que nos gustaría separar.
Después agregaremos lo que nos gustaría separar en la columna de nombre.
Simplemente nombraremos estas nuevas columnas <i>nombre</i> y <i>apellido</i>.

Función <i>unite</i>

nos permite fusionar columnas entre sí.


Básicamente, hace lo opuesto a la función <i>separate</i>.
Supongamos que estamos trabajando con la versión de este marco de datos con dos
columnas de nombre,
y queremos combinarlos.
Copiaremos también estos datos.

unite(employee, 'name',first_name, last_name, sep = ' ')

Nuestra instrucción <i>unite </i>es muy parecida a la instrucción <i>separate</i>.


Empezaremos con <i>unite </i>e indicaremos el marco de datos al que nos estamos
refiriendo.
Luego, le pondremos nombre a la columna en la cual estamos combinando <i>nombre</i>
y <i>apellido</i>.
Y después indicaremos qué columnas estamos combinando. No se necesitan comillas aquí.
Y, por último, podemos incluir un espacio que las separe.
Y cuando ejecutamos eso, esas dos columnas se combinan.
función <i>mutate</i> - Añadir Columna
Ya trabajamos un poco con la función<i> mutate</i> antes para limpiar y organizar
nuestros datos.
Pero <i>mutate</i> también se puede usar para añadir columnas con cálculos.

penguins %>%

mutate(body_mass_Kg=body_mass_g/1000)

De formato ancho a formato largo con


tidyr

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.

Ahora comprueba los mismos datos en formato largo:


Las funciones pivot_longer y pivot_wider

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.

 CleanItUp 5: R-Ladies Sydney: Wide to Long to Wide to…PIVOT

 : Este recurso ofrece detalles adicionales sobre las funciones pivot_longer y


pivot_wider. Los ejemplos proporcionados utilizan conjuntos de datos interesantes para
ilustrar cómo convertir los datos de formato ancho a largo y de nuevo a ancho.

 Trazado de múltiples variables

: 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.

Clasificación de las Funciones


Limpiar
clean_names()
select()
skim_without_charts()
glimpse()
rename_with()
rename()

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.

Instalemos los paquetes.

[Link]('Tmisc')

library(Tmisc)

carguemos los datos del cuarteto de Anscombe.

data("quartet")

view(quartet)

Cuando vemos estos datos,


percibimos que hay cuatro conjuntos de ejes x e
y en el marco de datos. Eso es el cuarteto.

resumir a través de diferentes mediciones estadísticas.

quartet %>%

group_by(set) %>%

summarise(mean(x),sd(x),mean(y),sd(y),cor(x,y))

Los datos se pueden resumir a través de diferentes mediciones estadísticas.


Obtendremos un resumen de cada conjunto de datos con la media,
el desvío estándar
y la correlación para cada uno de estos conjuntos de datos.
Empezaremos por indicar que
queremos agrupar nuestros datos por conjunto.
Luego, escribiremos nuestra función <i>summarize</i>.

set `mean(x)` `sd(x)` `mean(y)` `sd(y)` `cor(x, y)`


<fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1I 9 3.32 7.50 2.03 0.816
2 II 9 3.32 7.50 2.03 0.816
3 III 9 3.32 7.5 2.03 0.816
4 IV 9 3.32 7.50 2.03 0.817

Cuando ejecutamos esto,


obtendremos un resumen de esas mediciones estadísticas.
En nuestra tabla de resumen,
podemos verificar la media.
La media para x en cada conjunto de datos es nueve,
y la media para y es 7.5.
El desvío estándar nos puede ayudar
a comprender el margen de los valores
en un conjunto de datos y mostrarnos
qué tan lejos está cada valor con respecto a la media.
El desvío estándar para x e
y en cada conjunto de datos en el cuarteto es
el mismo, 3.32 y 2.03.
Por último, tenemos nuestra correlación,
que nos muestra qué tan sólida
es la relación entre dos variables.
Aquí, parece que la correlación entre x e
y en todos los conjuntos de datos es alrededor de 0.816.
En función de los resúmenes,
que creamos con nuestras mediciones estadísticas,
estos conjuntos de datos son idénticos,
pero a veces mirar solamente
los datos resumidos puede ser engañoso.

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)

Vamos a analizarlo. Estos cuatro conjuntos de datos


aparentan ser bastante diferentes cuando los visualizamos.
Si no hubiéramos realizado resúmenes estadísticos,
nunca hubiéramos sabido que
estos datos son realmente muy diferentes.

El paquete datasauRus.

Quiero mostrarte algo realmente genial.


El paquete datasauRus.
DatasauRus crea diagramas con
los datos Anscombe en diferentes formas.
Pero vamos a ejecutarlo para comprobarlo nosotros mismos.
instalar y cargar el paquete.

[Link]("datasauRus")

un gráfico nuevo.

ggplot(datasaurus_dozen,aes(x=x,y=y,colour=dataset)) + geom_point() + theme_void() +


theme([Link] = "none") + facet_wrap(~dataset)

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.

actual_temp <- c(68.3, 70, 72.4, 71, 67, 70)

predicted_temp <- c(67.9, 69, 71.5, 70, 67, 69)

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.

actual_sales <- c(150, 203, 137, 247, 116,287)

predicted_sales <- c(200, 300, 150, 250, 150, 300)

cargar nuestros datos de ventas,


con la etiqueta <i>ventas_reales</i> y
agregaremos los puntos de datos.

ingresaremos el monto de stock


que se pidió como <i>ventas</i><i>_previstas</i> y
luego ingresaremos esos puntos de datos.

bias(actual_sales, predicted_sales)

Ahora ejecutemos la función <i>bias</i> en nuestros datos de ventas,


como antes, solo escribiremos <i>bias</i> para iniciar la función y
luego <i>ventas_reales </i>y <i>ventas_previstas</i> entre paréntesis.

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.

Interpretación del resultado de la función bias en R:

 Resultado cercano a cero: El modelo es relativamente imparcial. La diferencia


entre el resultado real y el previsto es mínima.
 Resultado positivo: El modelo subestima el resultado real. El resultado previsto es
menor que el resultado real.
 Resultado negativo: El modelo sobreestima el resultado real. El resultado previsto
es mayor que el resultado real.
Un valor de bias cercano a cero indica que el modelo es relativamente imparcial, pero no
garantiza que sea completamente imparcial. Puede haber otros factores que contribuyan al
sesgo, como:

 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

Para determinar completamente el sesgo de un modelo, es necesario realizar un análisis más


profundo, que puede incluir:

 Examinar los datos en busca de posibles fuentes de sesgo.


 Utilizar técnicas de validación cruzada para evaluar el rendimiento del modelo en
diferentes conjuntos de datos.
 Comparar el modelo con otros modelos o enfoques.

Solo después de un análisis exhaustivo se puede determinar con confianza si un modelo es


imparcial o no.

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.

Para determinar completamente el sesgo de un modelo, es necesario realizar un análisis más


profundo, que puede incluir:

 Examinar los datos en busca de posibles fuentes de sesgo.


 Utilizar técnicas de validación cruzada para evaluar el rendimiento del modelo en
diferentes conjuntos de datos.
 Comparar el modelo con otros modelos o enfoques.

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:

 Datos de entrenamiento sesgados: Los datos utilizados para entrenar el modelo


pueden no representar completamente la población objetivo, lo que lleva a
predicciones sesgadas.
 Características faltantes: El modelo puede estar perdiendo características
importantes que son necesarias para hacer predicciones precisas.
 Algoritmo de aprendizaje inadecuado: El algoritmo de aprendizaje utilizado para
entrenar el modelo puede no ser adecuado para el tipo de datos o la tarea de
predicción.

Para abordar este sesgo, puedes intentar:

 Recolectar datos de entrenamiento más representativos: Asegúrate de que los


datos de entrenamiento incluyan una amplia gama de valores y representen
adecuadamente la población objetivo.
 Agregar características adicionales: Identifica las características que faltan y
agrégalas al modelo.
 Probar diferentes algoritmos de aprendizaje: Experimenta con diferentes
algoritmos de aprendizaje para encontrar uno que se ajuste mejor a los datos y la
tarea de predicción.

También es importante tener en cuenta que ningún modelo es perfectamente imparcial.


Siempre existe cierto grado de sesgo, incluso en los modelos más precisos. El objetivo es
minimizar el sesgo tanto como sea posible para garantizar que el modelo haga predicciones
confiables y precisas.

Trabajar con datos sesgados


Todo analista de datos encontrará un elemento de sesgo en algún momento del proceso de
análisis de datos. Por eso es tan importante saber cómo identificar y gestionar los datos
sesgados siempre que sea posible. Tal vez recuerdes que exploramos el sesgo en detalle en
el curso 3 de este programa. En esta lectura, leerás un ejemplo de la vida real de un analista
que descubrió un sesgo en sus datos, y aprenderás cómo utilizó R para solucionarlo.
Cómo abordar los datos sesgados con R

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.

 Ética de la ciencia de datos

: 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.

A lo largo de esta actividad, también tendrás la oportunidad de


practicar escribir tu propio código haciendo cambios en los bloques de
código tú mismo. Si encuentras un error o te trabas, siempre puedes
consultar el archivo .rmd Lesson3_Change_Solutions en la carpeta
"Solutions" bajo "Week 3" para ver el código correcto completo.

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")

Paso 2: Importar datos

library(readr)
bookings_df <- read_csv("~/Curso Google/bookings_df.csv")
View(bookings_df)

Paso 3: Conocer tus datos


glimpse()

colnames(hotel_bookings)

Manipular tus datos

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:

```{r head function part two}


head(hotel_bookings)
```

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 new dataframe}


hotel_bookings_v2 <-
arrange(hotel_bookings, desc(lead_time))

tiempos máximos y mÃnimos

También puedes averiguar los tiempos máximos y mÃnimos de antelación


sin ordenar todo el conjunto de datos usando la función `arrange()`.
Prueba usando las funciones max() y min() debajo:

```{r}
max(hotel_bookings$lead_time)
```

```{r}
min(hotel_bookings$lead_time)

Recuerda que, en este caso, necesitas especificar qué conjunto de datos


y qué columna usando el sÃmbolo $ entre los nombres. Prueba ejecutar lo
siguiente para ver qué pasa si te olvidas una de esas partes:

```{r}
min(lead_time)
```

Este es un error común que encuentran los usuarios de R. Para corregir


este bloque de código, necesitarás agregar el marco de datos y el signo
$ en los lugares adecuados.

tiempo de antelación promedio

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()

información sobre hoteles urbanos, incluyendo tiempo máximo y mÃnimo de


antelación de las reservas. También le interesa en qué difieren a los
hoteles tipo resort.
hotel_summary <-

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.

Elementos básicos de visualización en R y


tidyverse
nos enfocaremos en ggplot2

Personalmente, ggplot2 es mi favorito para


el análisis de datos. Es potente y flexible a la vez.
Con un poco de código, puedes crear muchos tipos de diagramas diferentes.
Puedes usar ggplot2 solo o extender sus poderes con otros paquetes.
Además, es el paquete de visualización más popular en R.
Muchos analistas de datos prefieren usar ggplot2, por eso
usamos ggplot2 aquí.

algunos paquetes de visualización diferentes que puedes usar con


R.
Base R tiene su propio paquete y existen otros paquetes útiles que puedes agregar.
Te ayudan a hacer casi cualquier cosa que quieras con tus datos, desde hacer gráficos
circulares simples
hasta crear representaciones visuales más complejas como gráficos y mapas interactivos.
Los paquetes de uso general como Plotly te dejan realizar una gran variedad de
funciones de visualización.
Otros como RGL se enfocan en soluciones específicas como visualizaciones 3D.
Algunos de los más populares incluyen ggplot2,
Plotly, Lattice, RGL, Dygraphs, Leaflet,
Highcharter, Patchwork, gganimate y ggridges.

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.

Además, puedes agregar o quitar capas de detalles a tu diagrama sin


cambiar su estructura básica o los datos subyacentes.
Esto hace que ggplot2 sea realmente poderoso.
En nuestro próximo vídeo, veremos estos pasos uno a uno.

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.

te deja combinar manipulación y visualización de datos


usando el operador de canalización.
hoja de referencia de ggplot2
[Link]

"C:\Users\GusNa\Documents\Curso Google\ggplot2 [Link]"

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.

Las funciones label y annotate

te dejan personalizar tu diagrama.


Puedes agregar texto como títulos, subtítulos y
leyendas para comunicar el propósito de tu diagrama o destacar datos importantes.

Visualización de datos con ggplot2


library(ggplot2)

library(palmerpenguins)

data(penguins)

View(penguins)

Crear un diagrama en ggplot2

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))

ggplot(data = penguins):En ggplot 2, comienzas un diagrama con la función ggplot(). La


función ggplot() crea un sistema de coordenadas al que puedes agregar capas. El primer
argumento de la función ggplot() es el conjunto de datos a usar en el diagrama. En este
caso, es “penguins”.

+: 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

(mapping = aes(x = flipper_length_mm, y = body_mass_g)): Cada función geométrica


en ggplot2 toma un argumento de mapeo. Esto define cómo se aplican variables de tu
conjunto de datos a propiedades visuales. El argumento de mapeo siempre se utiliza en
conjunto con la función aes(). Los argumentos X e Y de la función aes() especifican qué
variables aplicar al eje X y al eje Y del sistema de coordenadas. En este caso, quieres
aplicar la variable “flipper_length_mm” al eje X y la variable “body_mass_g” al eje Y.

Una estética es una propiedad visual


de un objeto en tu diagrama,
como su posición, color forma o tamaño.
La parte del código “mapping equals aes”
le indica a R
qué estética usar para el diagrama.
Usas la función aes
para definir el mapeo entre tus datos y tu diagrama.
Mapear significa emparejar una variable específica
en tu conjunto de datos con una estética específica.
Por ejemplo, puedes mapear
una variable al eje X de tu diagrama
o puedes mapear una variable al eje Y de tu diagrama.
En un diagrama de dispersión,
también puedes mapear una variable al color,
el tamaño y la forma de tus puntos de datos

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()

Crear tu propio diagrama

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.

2. Agrega una función geom_ para mostrar tus datos.

3. Aplica las variables que quieres modelar en los argumentos de la función aes().

Guia Descargada- Problemas comunes al


visualizar en R
ejemplos y enlaces adicionales.
Documentación de ggplot2

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:

 R for Data Science Online Learning Community

  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

Ggplot2 es un paquete de R que te permite crear diferentes tipos de visualizaciones de


datos directamente en tu lugar de trabajo R. En ggplot2, una estética se define como una
propiedad visual de un objeto de tu diagrama.

Existen tres atributos estéticos en ggplot2:

 Color: te permite modificar el color de todos los puntos de tu diagrama o el color de


cada grupo de datos
 Tamaño: te permite modificar el tamaño de los puntos de tu diagrama por grupo de
datos
 Forma: te permite modificar la forma de los puntos de tu diagrama por grupo de
datos

Este es un ejemplo de cómo se muestran los atributos estéticos en R:

ggplot(data, aes(x=distance, y= dep_delay, color=carrier, size=air_time, shape =


carrier)) +

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.

puedes destacar puntos claves de tus datos y


comunicarte con mayor claridad y efectividad con tus interesados.
Anteriormente, aprendimos que una estética es una propiedad visual de un objeto en tu
diagrama.
Por ejemplo, en un diagrama de dispersión la estética incluye el tamaño,
la forma y el color de tus puntos de datos.
Puedes mostrar un punto de diferentes maneras modificando su estética o
su apariencia.

Agreguemos una tercera


Agreguemos una tercera variable a nuestro diagrama de dispersión aplicándola a nueva
estética.

Color

ggplot(data = penguins) +
geom_point(mapping = aes(x = flipper_length_mm, y = body_mass_g,color=species))

Aplicaremos la variable species a la estética color agregando


código dentro de los paréntesis de la función aes.
Agregaremos una coma después de la variable masa corporal y
escribiremos color signo igual species. Nuestro código le indica a R que asigne
un color diferente a cada especie de pingüino.

R no solo aplica automáticamente diferentes colores a cada punto de datos,


sino que también crea una leyenda para mostrarnos los códigos de color.
Eso es lo que me encanta de R. Con solo darle un poco de código,
hace el máximo esfuerzo para ayudarte.
ggplot(data = penguins) +

geom_point(mapping = aes(x = flipper_length_mm, y = body_mass_g, alpha=species,


shape=species, color=species, size=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.

Si queremos, podemos aplicar más de una estética a la misma variable.


Apliquemos tanto color como forma a las especies.
Agregaremos el código color signo igual species mientras mantenemos
el código shape signo igual species.

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.

fijar la estética por separado de una variable específica

ggplot(data = penguins) +

geom_point(mapping = aes(x = flipper_length_mm, y = body_mass_g),color="purple")

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:

 Hoja de referencia de visualización de datos con ggplot2

 : 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.

 Introducción a R de Stats Education

 : 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.

 Función aes en RDocumentation

: Esta guía describe la sintaxis de la función aes y explica qué hace cada argumento.

Hacer más cosas con ggplot


Puedes elegir una figura geométrica específica según cómo quieras
representar tus datos y tus objetivos para comunicarlos.
Esto te permite contar la historia de tus datos de
diferentes maneras y comunicarte
de manera eficaz con diferentes públicos.
Comencemos con dos visualizaciones.
Ambas representaciones visuales contienen la misma
variable X y la misma variable Y.
Ambas usan los mismos datos,
pero cada diagrama utiliza
un objeto visual diferente para representar los datos.
Uno usa puntos. El otro usa una línea suave.
En otras palabras, usan diferentes figuras geométricas.

ara modificar la figura geométrica en nuestro diagrama,


necesitamos modificar la función geom en nuestro código.

Modelar una línea separada para cada especie de pingüino.

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.

función geom guion bajo jitter.

La función geom guion bajo jitter


crea un diagrama de dispersión y luego
agrega una pequeña cantidad de
ruido aleatorio a cada punto del diagrama.
Jitter nos ayuda a lidiar con el trazado excesivo,
que sucede cuando los puntos de datos en
un diagrama se superponen unos con otros.
El uso de jitter hace que los puntos sean más fáciles de encontrar.
Te mostraré a qué me refiero.
Reemplacemos geom guion bajo point
con geom guion bajo jitter.

Graficos de Barras

data(diamonds)

ggplot(dat = diamonds) +

geom_bar(mapping=aes(x=cut))

Escribamos un código que trace


un gráfico de barras de la variable
cut en el conjunto de datos de diamantes.
Cut se refiere a las proporciones,
la simetría y el pulido del diamante.
Observa que no indicamos una variable para el eje Y.
Cuando usas geom guion bajo bar,
R cuenta automáticamente cuántas veces
aparece cada valor X en los datos
y luego muestra los recuentos en el eje Y.
La opción predeterminada para geom guion bajo bar es contar filas.
Pero esa es solo una de
las diversas aplicaciones para gráficos de barras

Por ejemplo, el eje X de nuestro diagrama


muestra cinco categorías de calidad de corte: regular,
buena, muy buena, <i>premium</i> e ideal.
El eje Y muestra el número de diamantes en cada categoría.
Más de 20,000 diamantes tienen un valor de ideal,
que es el tipo de corte más común.
Geom guion bajo bar utiliza
diversas estéticas que ya conoces,
como color, tamaño y alfa.

ggplot(dat = diamonds) +
geom_bar(mapping=aes(x=cut, fill=cut))

Agreguemos la estética color a


nuestro diagrama y apliquémosla a la variable cut.
Digamos que queremos destacar
la diferencia entre cortes
con aun mayor claridad para que nuestro diagrama sea más fácil de entender.
Podemos usar la estética fill para
agregar color al interior de cada barra.
En nuestro código, colocamos fill signo igual
cut en vez de color signo igual 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

Para obtener más información sobre suavizado, consulta la sección de Suavizado en el


curso Introducción a R de Stats Education

. 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)

Para facetar tu diagrama según una sola variable,


usa facet guion bajo wrap.
Digamos que queremos enfocarnos en
los datos para cada especie de pingüino.
Tomemos nuestro diagrama que muestra la relación entre
masa corporal y longitud de aleta en cada especie de pingüino.
La función facet guion bajo wrap
nos deja crear un diagrama separado para cada especie.
Para agregar una nueva capa a nuestro diagrama,
agregaremos un símbolo más a nuestro código.
Luego dentro de los paréntesis de
la función facet guion bajo wrap
escribe un símbolo de virgulilla,
seguido del nombre de la variable.

data(diamonds)

ggplot(dat = diamonds) +

geom_bar(mapping=aes(x=cut, fill=clarity)) +

facet_wrap(~cut)

Anteriormente, hicimos un gráfico de barras que mostraba


el número de diamantes para cada categoría de corte.
Regular, buena, muy buena, <i>premium</i> e ideal.
Podemos usar facet guion bajo wrap en la variable cut para
crear un diagrama separado para
cada categoría de corte. Vamos a revisarlo.

Función facet_grid- Con más de una variable

ggplot(data = penguins) +

geom_point(mapping = aes(x=flipper_length_mm, y=body_mass_g, color=species)) +

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.

Hay nueve diagramas separados,


cada uno basado en una combinación de
las tres especies de pingüino y tres categorías de sexo.
Facet guion bajo grid te permite
reorganizar y mostrar con rapidez
datos complejos y hace que sea más fácil
ver relaciones entre diferentes grupos.

ggplot(data = penguins) +

geom_point(mapping = aes(x=flipper_length_mm, y=body_mass_g, color=species)) +

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.

Ejemplo de filtrado de datos para el trazado

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.

 Visualización de datos con ggplot2:

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")

Es muy útil para agregar etiquetas informativas a un diagrama, como títulos,


subtítulos y leyendas.
Por ejemplo, podemos agregar un título a nuestro diagrama que muestra la relación
entre masa corporal y longitud de aleta en las tres especies de pingüino.
Un título indicará con claridad el propósito del diagrama.

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.

Además, podemos agregar un subtítulo a nuestro diagrama para destacar información


importante
sobre nuestros datos.
Para hacerlo, ingresamos el código para el subtítulo del mismo modo que lo hicimos para el
título.
Recuerda agregar una coma después del argumento title antes de agregar tu subtítulo.

Sub- 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",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) +

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", caption="Datos recolectados por Kristen Gorman")

funciones annotate

annotate("text", x=220, y=2500, Label= "The Gentoos are the largest")

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.

Dentro de los paréntesis de la función annotate,


tenemos información sobre el tipo de etiqueta,
la ubicación específica de la etiqueta y el contexto de la etiqueta.
En este caso, queremos escribir una etiqueta de texto.
También queremos colocarla cerca de los puntos de datos sobre pingüinos Papúa.
Coloquémosla en las siguientes coordenadas:
eje X equivale a 220 milímetros y
eje Y equivale a 3,500 gramos.
Por último, escribamos nuestro texto.
Los Papúa son los más grandes.

Agregar Color, , estilo de fuente, negrita y tamaño de letra

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

Guardar Una Gráfica

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.

Dibujar flechas y formas en R


Las anotaciones son una manera útil de agregar notas a tu diagrama. Te ayudan a explicar
la finalidad del diagrama, destacar puntos de datos importantes o comentar cualquier
tendencia o resultados de datos que ilustra el diagrama. Ya aprendiste cómo agregar notas
como etiquetas, títulos y subtítulos. Además, puedes dibujar flechas o agregar formas a tu
diagrama para generar mayor énfasis. Generalmente, agregas este tipo de anotaciones a tu
aplicación de presentación después de haber guardado las visualizaciones. Pero ahora
puedes agregar líneas, flechas y formas a tus diagramas usando ggplot2.

Recursos

Consulta estos recursos para obtener más información:

 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.

 Anotaciones: El capítulo ocho del manual en línea de ggplot2 se enfoca exclusivamente


en las anotaciones. Ofrece explicaciones exhaustivas de los diferentes tipos de anotaciones,
cómo se usan y ejemplos detallados.
 Cómo anotar un diagrama: Este artículo de R-Bloggers incluye explicaciones sobre
cómo anotar diagramas en ggplot2. Comienza con conceptos básicos y abarca información
más complicada cuanto más sigas leyendo.

 Anotaciones de texto: Este recurso se enfoca específicamente en agregar


anotaciones de texto y etiquetas a visualizaciones en ggplot2.

Guardar tus visualizaciones

Exportar en la pestaña de diagramas de


RStudio

Podemos guardarlo como un archivo de imagen o un archivo PDF.


Probemos guardarlo como imagen.
Existen seis opciones diferentes para formato de imagen,
entre ellas PNG y JPEG.
Probemos PNG.
Luego, nombramos nuestro archivo y hacemos clic en Guardar.

función ggsave

ggsave(“Three Penguing [Link]”)

Ggsave es una función útil para guardar un diagrama.


De manera predeterminada, guarda el último diagrama que
mostraste y usa el tamaño
del dispositivo gráfico actual.
Intentemos guardar nuestro diagrama como archivo PNG usando ggsave.
Ggsave guardará automáticamente
el diagrama que muestra la relación entre
masa corporal y longitud de aleta
porque este es el último diagrama que mostramos.
Queremos darle un nombre al archivo e indicar como qué tipo
de archivo queremos guardarlo. Escribamos el código.
Dentro de los paréntesis de
la función, comenzamos con comillas,
seguidas del nombre del archivo.
Pongámosle de nombre Three Penguin Species.
Colocamos un punto después del nombre del archivo,
luego el tipo de archivo que queremos,
después comillas de cierre.
Guardado de imágenes sin ggsave()
En la mayoría de los casos, ggsave() es la manera más sencilla de guardar tu diagrama.
Pero existen situaciones en las que quizás sea mejor guardar tu diagrama escribiéndolo
directamente en un dispositivo gráfico. Esta lectura abarcará algunas de las diferentes
maneras en que puedes guardar imágenes y diagramas sin ggsave() e incluye recursos
adicionales para consultar si quieres obtener más información.

Un dispositivo gráfico permite que un diagrama aparezca en tu computadora. Algunos


ejemplos incluyen:

 Una ventana en tu computadora (dispositivo de pantalla)


 Un archivo PDF, PNG o JPEG (dispositivo de archivo)

 Un archivo SVG, o gráfico de vector escalable (dispositivo de archivo)

Cuando haces un diagrama en R, tiene que “enviarse” a un dispositivo gráfico específico.


Para guardar imágenes sin usar ggsave(), puedes abrir un dispositivo gráfico R como png()
o pdf(); estos te permitirán guardar tu diagrama como archivo .png o .pdf. También puedes
optar por imprimir el diagrama y luego cerrar el dispositivo usando [Link]().

Ejemplo de uso de png() Ejemplo de uso de pdf()


png(file =
"[Link]", bg = pdf(file = "/Users/username/Desktop/[Link]", width
"transparent") plot(1:10) = 4, height = 4) plot(x = 1:10, y = 1:10) abline(v =
rect(1, 5, 3, 7, col = 0) text(x = 0, y = 1, labels = "Random text") [Link]()
"white") [Link]()

Para obtener más información sobre los diferentes procesos para guardar imágenes,
consulta estos recursos:

 Guardado de imágenes sin ggsave()

: Este recurso está extraído directamente de la documentación de ggplot2 en [Link]

 . 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.

 Cómo guardar un ggplot

 : Este recurso abarca diversos métodos diferentes de guardado de ggplots. Además,


incluye un código copiable con explicaciones sobre cómo se está usando cada
función para que puedas entender mejor cada paso en el proceso.
 Cómo guardar un diagrama 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.

Descripción general de R Markdown


R Markdown es
un formato de archivo para crear documentos dinámicos con
R. R Markdown te permite crear
un informe de tu análisis y de tus conclusiones en un documento.
Une tu código y
tu informe para que puedas compartir cada paso de tu análisis.
La mejor parte es que
no tienes que salir de RStudio para hacer eso.
Ese documento ayudará a los interesados y a los integrantes del equipo
a comprender lo que hiciste en
tu análisis para llegar a tus conclusiones.
Sus comentarios también te ayudarán a mejorar tu análisis.

Los documentos de R Markdown están escritos en Markdown.


Markdown es un tipo de sintaxis para formatear archivos de texto sin formato.
Si utilizas Markdown, te será más fácil
escribir y formatear texto en tu documento.
Markdown también es fácil de leer y de aprender.

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.

opción interactiva llamada <i>Notebook</i> de R


, que permite a los usuarios
ejecutar su código y mostrar los gráficos
y las tablas que visualizan el código.
Cualquier documento de R Markdown puede utilizarse como un <i>notebook</i>.
Eso da lugar a un panorama general más claro
de tu análisis y de tus conclusiones.
R Markdown también te permite convertir
tus archivos en muchos formatos diferentes.
Puedes crear documentos HTML, PDF
y de Word, o puedes
convertirlos en una presentación de diapositivas o en un panel.

El lenguaje Markdown fue


diseñado originalmente para un archivo de salida HTML.
HTML es un conjunto de
símbolos y códigos de marcado que se utiliza para crear una página web.
R Markdown cuenta con
funciones que son más accesibles para ese formato,
pero puedes obtener buenos resultados con cualquiera de los formatos.

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

Los 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.

Materiales de referencia de R Markdown

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.

 La Guía de referencia de 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.

 La Hoja de referencia 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.

R Markdown: la guía definitiva

Si quieres explorar a fondo las capacidades de R Markdown de forma sistemática, consulta


R Markdown: la guía definitiva,

que te brinda un manual exhaustivo sobre el ecosistema de R Markdown. Este libro está
dividido en cuatro partes:

1. La parte I

 te explica cómo instalar los paquetes pertinentes y hace un repaso general de R


Markdown, incluida la sintaxis de R Markdown y los bloques de código.

 La parte II

 te ofrece documentos detallados sobre los formatos de salida incluidos en R Markdown,


como formatos de documentos y de presentaciones.

 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

abarca temas más avanzados de R Markdown.

Notebooks de Jupyter-Compatibles con


más programas
Los notebooks de Jupyter son documentos que contienen códigos informáticos y
elementos de texto enriquecido, como comentarios, enlaces o descripciones de tu análisis y
de tus resultados. Verás que se usan en distintas herramientas en línea, incluido el Proyecto
Jupyter, Kaggle y Google Colaboratory ("Colab" para abreviar). Estos notebooks pueden
usarse como documentos ejecutables para que lleves a cabo tu análisis.

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.

Notebooks de Jupyter en Kaggle

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

Notebooks de Jupyter en Google Colab

Google Colab es un producto de Google Research. Colab es un servicio de notebook


alojado en Jupyter y no necesita ningún tipo de instalación. Para más información, consulta
la página Te damos la bienvenida a Colab

Recursos adicionales

Para saber más sobre los notebooks de Jupyter, consulta estos recursos:

Proyecto Jupyter

 : Aquí encontrarás los notebooks de Jupyter y también el entorno JupyterLab, un entorno


web de desarrollo interactivo para los notebooks, los códigos y los datos de Jupyter.

 Notebook de Jupyter: Una introducción

 : El personal de Real Python, un sitio de tutoriales para todo lo relacionado con


Python, creó esta introducción detallada a los notebooks de Jupyter. Para dar tus
primeros pasos con los notebooks de Jupyter y conocer todas sus funciones y
capacidades, puedes hacer un curso con los vídeos que ofrecen o seguir el tutorial
escrito.

Además, al igual que R Markdown, los notebooks de Jupyter incluyen herramientas y


reglas para formateo básico que te ayudarán a mantener tu trabajo organizado y también
hacerlo intuitivo para otros usuarios. De hecho, Jupyter usa R Markdown como lenguaje
para escribir y formatear texto en sus notebooks.
Para saber más sobre formateo básico en los notebooks de Jupyter, consulta estos recursos:

 El notebook de Jupyter

 : Este recurso te brinda un panorama de los notebooks de Jupyter, incluida información


sobre la estructura de la interfaz de usuario y el documento de los notebooks. También
aprenderás sobre el flujo de trabajo básico para usar un documento de notebook y podrás
leer sobre atajos en el teclado y otras funciones para formatear tu trabajo.

 Usar los notebooks de Jupyter para escribir

 : 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.

 La guía de formateo de notebooks de Jupyter

 : 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.

Usar R Markdown en RStudio


Primero instalaremos el paquete R Markdown
con la función para instalar paquetes y R Markdown entre paréntesis.

Por ahora, utilizaremos las opciones de HTML y documento por defecto.


Las otras opciones de archivos de salida también estarán disponibles más adelante.
Agregaremos un nombre de archivo y un autor, y luego abriremos nuestro archivo.
Luego lo guardaremos para poder utilizarlo más adelante.

Agregaremos un nombre de archivo y un autor, y luego abriremos nuestro archivo.


Luego lo guardaremos para poder utilizarlo más adelante.

Ahora tenemos un archivo RMD lleno de metadatos en la parte superior y


bloques de códigos en las secciones grises.
Hay texto en el medio para explicar el código y
agregar comentarios a tu análisis y a tus conclusiones.
Este documento de R Markdown está en su formato original.
Es muy útil, y puedes editarlo y agregar información,
pero si queremos hacer un informe que contenga el texto, el código y
los resultados, tendremos que hacer clic en el botón Convertir

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.

Para eso, puedes dirigirte a Abrir archivo en el menú Archivo:

Abrir un archivo .rmd

1. Abre un nuevo archivo .rmd (R Markdown) para generar la estructura básica de tu


notebook. Selecciona Archivo -> Nuevo archivo -> R Markdown.

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”).

3. En el campo Autor, escribe tu nombre.

4. Por el momento, vamos a dejar el archivo en el formato de salida recomendado: .html.


Más tarde, cuando abras el archivo, verás un informe en formato .html. Recuerda que
siempre puedes pasarlo a formato .pdf o de archivo de Word.

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 primera sección de tu notebook es el encabezado YAML. YAML es un lenguaje que se


utiliza en archivos de datos para que los seres humanos puedan leer los datos de forma más
simple. El encabezado YAML brinda a las personas que lo lean información sobre el
documento. RStudio completa esta sección automáticamente con la información que tú
proveas y también con otros datos generales, como la fecha en que creaste el archivo.
Puedes agregar datos o escribir sobre los datos que ya están puestos para modificar la
información de esta sección cuando quieras. Fíjate que cada línea tiene un número
asociado. Así puedes saber con más rapidez dónde están ubicados los datos en el notebook
y puedes controlar en qué lugar del notebook estás haciendo cambios.

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.

Como ya dijimos, RStudio completa automáticamente el notebook con el bloque de código


formateado de forma predeterminada. En pocas palabras, este bloque indica que cuando
estés listo para reproducir tu informe final, podrás ver el código en el informe.

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: ```

Un delimitador es un carácter que indica el principio y el fin de un elemento de datos. Puede


delimitar una sola línea de código o una sección entera de códigos en un archivo .rmd.

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:

Agregar un bloque de código

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.

Para agregar un bloque de código a tu archivo .rmd, sigue estos pasos:

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.

4. Selecciona el resto del contenido de la plantilla en el archivo y bórralo. Así, tendrás


espacio en blanco para trabajar y evitarás que surjan errores por mezclar tus propios
comentarios y códigos con los que ya estaban en la plantilla.

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.

Ya agregamos apóstrofos antes y


después de tidy verse y Palmer penguins
porque son los nombres de
los paquetes que los hacen parte del código real

Luego de la letra r agregaremos


un espacio y luego escribiremos loading packages.

´´´(r loading packages)


´´´
Eso agrega otra capa a nuestra organización.
Ahora podemos encontrar el bloque de código y su etiqueta con facilidad
si utilizamos el menú Contenidos que está en la parte inferior del panel de <i>scripts</i>.
Agregar Código
Luego, entre los delimitadores,
agregaremos nuestro primer bloque de código,
que usaremos para cargar los dos paquetes.
Incluso si ya están cargados,
cargarlos nuevamente te asegurará que
los paquetes están actualizados a su última versión.
Podemos comenzar a escribir en
la línea que sigue al primer delimitador.
Pero dado que también tenemos nuestro archivo de programación disponible,
copiaremos y pegaremos desde allí.

Hay opciones para cambiar el archivo de salida,


y para desactivar advertencias y mensajes.
Eso resulta útil cuando estás listo para
hacer un informe final para los interesados.
Podrás controlar lo que quieres
mostrarles en el informe.
Por ejemplo, si hay advertencias con respecto a
tu archivo de salida que no impactan en tus resultados,
puedes desactivarlas para los interesados.

opciones básicas para el formateo

A continuación, te brindamos algunas opciones básicas para el formateo:

Para empezar un nuevo párrafo, termina la línea con dos espacios

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

Al generar títulos, ten en cuenta lo siguiente:


Los títulos aparecen en azul

Si agregas un solo numeral, el título tendrá el tamaño más grande

Cuantos más numerales agregues (máximo de seis), más pequeño será el título

El espacio también es importante. De lo contrario, RStudio no reconocerá que es un


encabezado.
formatear comentarios

Para formatear comentarios en tu notebook, sigue estos pasos:

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().

Markdown es un tipo de sintaxis para formatear archivos de texto sin formato.

Creó un notebook de R, una opción interactiva de R Markdown. Permite a los usuarios


ejecutar un código del documento de R Markdown y ver tablas y gráficos de ese código.

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.

Estructura de los documentos de R


Markdown
estructura del texto en un archivo RMD y
cómo podrías formatearla para organizar y enfatizar tus resultados de mejor manera.

analicemos este archivo en profundidad. Comenzaremos por la parte superior:

sección del encabezado YAML.


YAML es un lenguaje para datos que los traduce para que sean legibles.
Dato curioso:
Originalmente, YAML representaba otro lenguaje de marcado (<i>yet another markup
language</i>).

---

title: "R Markdown Intro"

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.

El título, el autor, la fecha y


el tipo de archivo de un archivo de salida se incluyen automáticamente cuando creas un
nuevo archivo.

Hay muchas funciones y opciones de formateo diferentes en esta sección.


Por ahora, solo asegúrate de comprender al menos los cuatro detalles que tenemos en
nuestro archivo actual.
Puedes utilizar la plantilla que aparece cuando abres el archivo y editarla.
O puedes comenzar de cero y utilizar los tres guiones para crear
la sección YAML y el resto de los contenidos del archivo.

texto de las áreas en blanco de nuestro archivo.

Piensa que el texto es una forma de comentar y explicar tu código, tu análisis y


cualquier visualización que incluyas.
Puedes formatear el texto para incluir enlaces,
listas ordenadas, ecuaciones y más.
El texto se formatea con Markdown,
la sintaxis que ya presentamos.

Más elementos para tus documentos

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

* PDF

* MS Word documents

manera diferente de incluir un enlace en el archivo

click here [link] ([Link]

Pero si queremos incrustar el enlace en el texto


debemos cambiar el formato.
Comenzaremos por cambiar el texto
para que se ajuste mejor al enlace incrustado.
Luego agregaremos corchetes
y la palabra en la que queremos incrustar el enlace,
y cambiaremos las comillas angulares
que encierran la URL por paréntesis.
Incrustar una imagen.
Las imágenes son buenas para presentar tu flujo de trabajo o
para mostrar las visualizaciones a las que quieres
hacer referencia en tu informe.
O quizás solo quieres agregar un
GIF

¡[Plot this way] ([Link]


%2Ffreepng%2Fhanddrawn-computer-doodles-a-vectorized-laptop-and-pc-icon-artwork-
vector_12918344.html&psig=AOvVaw2GaNcUPkONnpw42hKNFh8S&ust=1713200182283000&so
urce=images&cd=vfe&opi=89978449&ved=0CBIQjRxqFwoTCJDCzZWWwoUDFQAAAAAdAAAAABA
E)

Incrustaremos una imagen con el ejemplo de la trama.


Luego agregaremos un signo de exclamación
y una leyenda para la imagen entre corchetes.
Luego, copiaremos la URL para
nuestra imagen y la pegaremos dentro de los paréntesis.

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.

Si necesitas crear cierto tipo de documento una y


otra vez o si quieres
personalizar el aspecto de tu informe final,
puedes crear una plantilla.
Si es un informe mensual o anual
que estás haciendo para los interesados,
simplemente puedes ejecutar una línea de código para
actualizar tus datos, y tu informe estará listo.
Formatos de archivos de salida en R
Markdown
Configurar el archivo de salida de un documento de R Markdown

Cuando trabajas en RStudio, puedes configurar el archivo de salida de un documento de R


Markdown cambiando el encabezado YAML.

Por ejemplo, el siguiente código genera un documento HTML:

---

título: "Demo"

archivo de salida: html_document

---

Y el siguiente código genera un documento PDF:

---

título: "Demo"

archivo de salida: pdf_document

---

El botón Convertir en el editor de código de RStudio reproduce el archivo según el primer


formato enumerado en el campo de archivo de salida (HTML es el archivo que se genera
por defecto). Puedes obtener otros formatos si haces clic en el menú desplegable al lado del
botón Convertir.
Archivos de salida disponibles

Además del archivo predeterminado de salida, que es en formato .html (html_document),


puedes crear otros tipos de documentos en R Markdown usando la siguiente configuración
de archivos de salida:

 pdf_document: Crea un archivo PDF con LaTeX (un sistema de diseño de


documentos de código abierto). Si no tienes LaTeX instalado, RStudio te pedirá
automáticamente que lo instales.
 word_document: Crea documentos de Microsoft Word (.docx).
 odt_document: Crea un documento de OpenDocument Text (.odt).
 rtf_document: Crea un documento en formato de texto enriquecido (.rtf).
 md_document: Crea un documento de R Markdown (que se ajusta rigurosamente a
las especificaciones del documento original de Markdown).
 github_document: Crea un documento GitHub, que es la versión personalizada del
documento de R Markdown diseñada para compartir en GitHub.

Para una guía detallada de cómo crear distintos tipos de documentos de R Markdown,
puedes consultar el capítulo Documentos

de R Markdown: la guía definitiva.

Notebooks

El notebook (html_notebook) constituye una variación del documento de HTML


(html_document). En términos generales, los formatos de salida son similares, la mayor
diferencia es que el notebook como archivo de salida siempre incluye una copia incrustada
del código fuente.
Los notebooks y los documentos en formato HTML también se usan con distintos
propósitos. Los documentos en formato HTML son útiles para comunicarse con los
interesados. Los notebooks son mejores para trabajar en conjunto con otros analistas de
datos o científicos de datos.

Para más información, dirígete a la sección sobre Notebooks

de los documentos de R Markdown.

Presentaciones

También puedes usar R Markdown para crear presentaciones. Si insertas automáticamente


los resultados de tu código R en una presentación, puedes ahorrarte muchísimo tiempo.

Cuando usas las siguientes configuraciones para archivos de salida, R Markdown te


muestra distintos formatos específicos de presentaciones:

 beamer_presentation: Para presentaciones en PDF con Beamer


 ioslides_presentation: Para presentaciones en HTML con ioslides
 slidy_presentation: Para presentaciones en HTML con Slidy
 powerpoint_presentation: Para presentaciones en PowerPoint
 revealjs : : revealjs_presentation: Para presentaciones en HTML con [Link] (un
framework para crear presentaciones usando archivos HTML, para lo que necesitas
el paquete [Link]).

Para más información, dirígete a la sección sobre Presentaciones con diapositivas

entre los documentos de R Markdown.

Paneles

Los paneles son útiles para comunicar de forma rápida mucha información. El paquete
flexdashboard

te permite publicar varias visualizaciones de datos relacionados en un solo panel.


Flexdashboard también te ofrece herramientas para crear barras laterales, conjuntos de
pestañas, cuadros de valores e indicadores.

Para más información, visita la página de flexdashboard para R

y la sección Paneles

entre los documentos de R Markdown.


Shiny

Shiny es un paquete de R que te permite generar aplicaciones de sitios webs interactivos


usando el código R. Puedes incrustar tus aplicaciones en los documentos de R Markdown o
alojarlas en una página web.

Para designar un código Shiny en un documento de R Markdown, agrega runtime: shiny en


el encabezado YAML:

---

título: "Shiny Web App"

archivo de salida: html_document

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

Otros paquetes te brindan más formatos de salida:

 El paquete bookdown

 es útil para escribir libros y artículos detallados.

 El paquete prettydoc

 te brinda distintos temas atractivos para los documentos de R Markdown.

 El paquete rticles

 provee plantillas para distintas revistas y editoriales.

Para obtener una lista exhaustiva de formatos de salida y paquetes, visita la página de
Formatos de RStudio

entre los documentos de R Markdown.


Recursos adicionales

Para más información, explora estos recursos adicionales:

 Para ver miles de ejemplos de archivos de salida que puedes crear con R
Markdown, consulta la galería de R Markdown

 de RStudio.

 El capítulo llamado Formatos de R Markdown

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.

Paquetes de R con plantillas


Algunos de los paquetes más populares con plantillas para R Markdown incluyen los
siguientes:

El paquete vitae

contiene plantillas para crear y actualizar el currículum vitae (CV)

El paquete rticles

provee plantillas para distintas revistas y editoriales

El paquete learnr

permite que conviertas cualquier documento de R Markdown en un tutorial interactivo sin


problemas

El paquete bookdown

agiliza la escritura de libros y artículos detallados

El paquete flexdashboard

te permite publicar varias visualizaciones de datos relacionados en un solo panel


Acceder a la plantilla de CV desde RStudio
[Link]("vitae")

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”.

8. Por último, haz clic en OK.


Convertir la plantilla a formato .pdf

Ahora, la plantilla aparecerá en el panel de edición de códigos. Contiene un encabezado


YAML, bloques de códigos y encabezados de texto, al igual que el documento
predeterminado que aparece cada vez que creas un documento R Markdown nuevo. El CV
de ejemplo usa a la científica Marie Curie, la primera mujer en ganar un Premio Nobel (y la
primera persona en ganar dos Premios Nobel). El encabezado YAML contiene entradas
para la información general, como el nombre, la dirección, el número de teléfono, etc.

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.

Nota: Si tu navegador bloquea las ventanas emergentes y te muestra un mensaje de error,


haz clic en Intentar de nuevo.

Así, verás un archivo .pdf que muestra la plantilla personalizable para el CV:

También podría gustarte