Introducción

El lenguaje R es un lenguaje de programación y un entorno de software especialmente diseñado para el análisis estadístico, la visualización de datos y la manipulación de datos. Fue creado por Ross Ihaka y Robert Gentleman en 1993 en la Universidad de Auckland, Nueva Zelanda.

R es ampliamente utilizado por estadísticos, científicos de datos, analistas y profesionales en una variedad de campos para realizar análisis estadísticos, modelado de datos, gráficos y visualizaciones, manipulación de datos y más. Ofrece una gran cantidad de bibliotecas (paquetes) que proporcionan funciones y herramientas para una amplia gama de tareas en el análisis de datos.

Algunas de las características clave del lenguaje R incluyen:

  • Nueva viñeta: Hola mundo

  • Sintaxis Amigable: R tiene una sintaxis fácil de entender, similar a otros lenguajes de programación estadística.

  • Manipulación de Datos: R es eficiente en la manipulación y transformación de datos, lo que es crucial para el análisis de datos.

  • Visualización: R tiene capacidades gráficas avanzadas que permiten la creación de gráficos y visualizaciones de alta calidad.

  • Análisis Estadístico: R ofrece una amplia gama de funciones estadísticas y técnicas avanzadas para realizar análisis de datos y modelado.

  • Comunidad Activa: La comunidad R es activa y contribuye con una gran cantidad de paquetes y recursos.

  • Integración con Otros Lenguajes: R puede integrarse con otros lenguajes de programación como C++, Python y Java para ampliar su funcionalidad.

R se distribuye bajo la licencia GNU General Public License y está disponible de forma gratuita para su uso en sistemas operativos como Windows, macOS y Linux. Además, hay entornos de desarrollo específicos para R, como RStudio, que facilitan la escritura, ejecución y visualización de código R.

Ejemplo de estadística descriptiva

A continuación se presenta un ejemplo de estadísticas descriptivas en codigo R

library(ggplot2)
library(gridExtra)
# Crear datos de ejemplo
data <- data.frame(x = 1:10, y1 = runif(10), y2 = rnorm(10), y3 = rpois(10, lambda = 3))

# Crear tres gráficos: scatterplot, línea y histograma
p1 <- ggplot(data, aes(x = x, y = y1)) +
  geom_point() +
  labs(title = "Scatterplot", x = "Eje X", y = "Eje Y")

p2 <- ggplot(data, aes(x = x, y = y2)) +
  geom_line() +
  labs(title = "Línea", x = "Eje X", y = "Eje Y")

p3 <- ggplot(data, aes(x = y3)) +
  geom_histogram() +
  labs(title = "Histograma", x = "Valores", y = "Frecuencia")

# Colocar los gráficos en una sola imagen con tamaños relativos personalizados
combined_plots <- grid.arrange(p1, p2, p3,
                               ncol = 2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

# Cargar el conjunto de datos iris (ya incluido en R)
data(iris)

# Calcular estadísticas descriptivas para la longitud del sépalo
summary(iris$Sepal.Length)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.300   5.100   5.800   5.843   6.400   7.900
mean(iris$Sepal.Length)
## [1] 5.843333
sd(iris$Sepal.Length)
## [1] 0.8280661

Ejemplo de gráficos (base)

En R, existen varias funciones y paquetes que te permiten crear una amplia variedad de gráficos para visualizar tus datos. Aquí tienes algunos ejemplos de funciones y paquetes gráficos populares:

Base Graphics:

  • plot(): Crea gráficos básicos como diagramas de dispersión, líneas y puntos.
  • hist(): Crea histogramas.
  • barplot(): Crea gráficos de barras.
  • boxplot(): Crea diagramas de caja y bigotes.
  • pie(): Crea gráficos de pastel.
library(gapminder)
## Warning: package 'gapminder' was built under R version 4.2.3
plot(gapminder$gdpPercap,gapminder$lifeExp, col=gapminder$continent,
     main="expectativa de vida vs gasto percapita")
legend("bottomright", pch = 1,
       col=c(1,2,3,4,5),
       lty = c(1,1,1,1,1),
       lwd=1,
       legend = c("Africa", "Asia", "Americas", "Europe", "Oceania"))

Ejemplo con ggplot()

ggplot2 es un paquete en R creado por Hadley Wickham que proporciona una gramática de gráficos para la creación de visualizaciones. Con ggplot2, puedes crear una amplia variedad de gráficos de manera eficiente y personalizada. La gramática de ggplot2 se basa en la idea de “Grammar of Graphics”, que permite construir gráficos a partir de capas individuales, cada una de las cuales define una parte específica del gráfico. Algunas funciones clave incluyen:

  • ggplot(): Inicia un gráfico utilizando la gramática de ggplot2.
  • geom_point(), geom_line(), geom_bar(), etc.: Agrega capas geométricas (puntos, líneas, barras) al gráfico.
  • facet_wrap() y facet_grid(): Divide el gráfico en múltiples paneles.
library(ggplot2)
data(iris)
ggplot(data = iris, aes(x= Petal.Length, y=Sepal.Width, color=Species)) +
  geom_point(shape=17, size=3)+
  scale_color_manual(values = c("green","gold","purple"))+
  labs(title = "Ejemplo data iris", x="largo petalo", y="ancho sepalo")

Ejemplo con plotly()

Plotly es una biblioteca y plataforma para la creación de gráficos interactivos y visualizaciones en R y otros lenguajes de programación como Python, JavaScript y Julia. La biblioteca Plotly permite crear gráficos interactivos y atractivos que pueden ser explorados y manipulados directamente en el navegador web.

Las principales características de Plotly incluyen:

  • Gráficos Interactivos: Plotly permite crear gráficos que los usuarios pueden interactuar directamente en un navegador web. Pueden acercar, alejar, hacer clic en elementos para obtener información adicional y más.

  • Diversidad de Tipos de Gráficos: Plotly admite una variedad de tipos de gráficos, como gráficos de líneas, barras, dispersión, superficies, histogramas, gráficos de torta y más.

  • Personalización: Puedes personalizar la apariencia de tus gráficos con colores, etiquetas, títulos y otros elementos visuales.

  • Compatibilidad con Diversas Plataformas: Plotly es compatible con diferentes plataformas y herramientas, como R, Python, Jupyter Notebook, Dash (para crear aplicaciones web interactivas) y más.

  • Exportación y Compartición: Puedes exportar tus gráficos a diversos formatos, como imágenes y documentos HTML, para compartirlos fácilmente con otros.

library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
ggplotly(
  ggplot(data = iris, aes(x = Species, y = Petal.Length , fill=Species))+
    geom_boxplot() +
    ggtitle("Comparación de longitud por especie")
)