
Es un lenguaje para la computación estadística, utilizado para el procesamiento de información y la generación de modelos. Entre las principales características están:
Licencia (GNU GPL) abierta y gratuita
Creciente popularidad en ciencia de datos
Multiplataforma (UNIX, Windows, macOS)
Ross Ihaka y Robert Gentleman (U. Auckland - Nueva Zelanda), 1993
Lenguaje multiparadigma
Código construido en C y Fortran
Gran comunidad muy activa
Más de 7000 paquetes

En el siguiente enlace se pueden obtener los archivos para su instalación: https://www.r-project.org/
Podemos usar este lenguaje utilizando una terminal o mediante un entorno de desarrollo integrado (IDE) como RStudio, que integra herramientas para escribir, ejecutar y organizar proyectos en R.
Una forma sencilla de recordarlo: R es el lenguaje, y RStudio es el programa (IDE) donde escribimos y ejecutamos el código con mayor comodidad.

Esta interfaz está conformada por varias ventanas, como se muestra en la siguiente imagen:

En los siguientes enlaces se pueden descargar los programas, dependiendo el sistema operativo :
A continuación se relacionan algunas ayudas para la iniciación del lenguaje
Si es tu primera vez, estos pasos te ayudan a organizarte y evitar errores comunes:
File > New Project y elige una carpeta. Esto facilita el
manejo de rutas y archivos..R o
.Rmd.?función o
help("función") para leer la documentación.Ejemplos básicos:
getwd() # muestra el directorio de trabajo
setwd("ruta") # cambia el directorio de trabajo
list.files() # lista archivos en el directorio actual
?mean # ayuda de la función mean
help("plot") # ayuda de la función plot
Arreglo unidimensional de valores, caracteres o cadenas
x=c(1,2,3,4,5) #<<
x
## [1] 1 2 3 4 5
y=c("Muy regular", "Regular", "Bueno", "Muy bueno", "Excelente")
y
## [1] "Muy regular" "Regular" "Bueno" "Muy bueno" "Excelente"
Arreglo bidimensional de valores
x=1:9
m=matrix(x,nrow=3) #<<
m
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Arreglos multimensionales de valores. En el siguiente ejemplo se representa un arreglo de 3 matrices 3x3 que conformarian en 3D un cubo de datos
x=1:9
y=10:18
z=19:27
mn=array(c(x,y),dim=c(3,3,3)) #<<
mn
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 10 13 16
## [2,] 11 14 17
## [3,] 12 15 18
##
## , , 3
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Vector de variables categóricas, por lo general se utilizan para dividir una base en subgrupos
x=c("rojo", "verde", "azul")
y=rep(x, times=4)
x
## [1] "rojo" "verde" "azul"
y
## [1] "rojo" "verde" "azul" "rojo" "verde" "azul" "rojo" "verde" "azul"
## [10] "rojo" "verde" "azul"
Colección de objetos cada uno de tipos diferentes. El objeto de esta clase guarda valores en diferentes formatos.
En el siguiente ejemplo se construye un objeto h que contiene varios elementos dentro de sí, todos relacionados con un histograma
h=hist(rnorm(100,25,10)) #<<
h$breaks
h$counts
h$density
h$mids
h$xname
h$equidist
Estructura de datos de dos dimensiones - filas y columnas - base de datos. En este caso se puede obtener una fila (data[1,]), una columna (data[,1]) o un elemento de la data directamente (data[20,2]).
data(iris) #<<
head(iris)
iris[1,]
iris[1,5]
Para construir una función utilizamos la palabra function, entre paréntesis los valores de entrada y entre corchetes la fórmula que conforma la función. Por ejemplo:
\[f(x)=\dfrac{1}{(x-1)^{2}} \]
fx=function(x){1/(x-1)^2} #<<
fx(100) # función evaluada en x=100
## [1] 0.0001020304
En este caso la función es evaluada dentro de un otra función en la construcción de un gráfico
x=seq(from=2,to=10, by=0.01) # genera secuencia de numeros entre 2 y 10 con paso 0.01
plot(x, fx(x), type="l", col=c11, las=1) # genera gráfica

El siguiente ejemplo construye una función para la realización de un gráfico. En este caso los valores de entrada están conformados por un vector de datos y un color
y=sample(1:6,100, replace = T) # generación de datos
# función definida para la construcción de gráficos
grafica=function(x,color){
barplot(x,
col=color, las=1)
grid()
}
z=table(y) # generación de tabla de datos
grafica(z,"#899DB9") # evalúa la función en los datos z y color rojo

w=round(prop.table(z)*100,2) # genera datos y construye tabla en porcentaje
grafica(w,c21) # evalúa la función con w y color azul

Objeto para series de tiempo
| Aritméticos | Comparativos | Lógicos | |||
|---|---|---|---|---|---|
| + | adición | < | menor que | !x | NO lógico |
| - | substracción | > | mayor que | x & y | Y lógico |
| * | multiplicación | <= | menor o igual que | x | y |
| / | división | >= | mayor o igual que | x or y | O exclusivo |
| ^ | potencia | == | igual | ||
| %% | módulo | != | diferente de | ||
| %/% | división enteros |
El lenguaje R está conformado por miles de paquetes o Packages construidos por investigadores en diversos temas y áreas del conocimiento.
Al instalar inicialmente R contiene una serie de funciones listas para ser utilizadas, las que llamamos base, con las que R funciona de manera adecuada para dar respuesta a problemas básicos. Sin embargo, en algunos casos es necesario instalar paquetes adicionales, los cuales iremos anunciando en la medida que sean necesarios.
Para instalar un paquete lo podemos hacer de dos formas :
install.packages("ggplot2")
Positron es un IDE gratuito y de nueva generación creado por Posit para ciencia de datos. Está pensado para trabajar con R y Python en el mismo entorno y combina edición moderna de código con herramientas interactivas para análisis.
Principales ideas para empezar:
Si ya usas RStudio, puedes probar Positron para flujos más modernos o proyectos que mezclen R y Python. RStudio sigue vigente y optimizado para R, mientras que Positron apunta a un entorno unificado de ciencia de datos.
Descarga e información oficial: https://positron.posit.co/