0% encontró este documento útil (0 votos)
17 vistas43 páginas

Introducción a R y RStudio

Este documento presenta una introducción a R y RStudio. Explica brevemente qué es R, su historia y características. Luego describe cómo instalar R y RStudio, y explica los componentes básicos del lenguaje R como vectores, matrices, listas, factores, datos faltantes y data frames. Finalmente, cubre conceptos de programación en R como objetos, números, atributos, conversión de tipos, instrucciones condicionales y ciclos.

Cargado por

eorozcof
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas43 páginas

Introducción a R y RStudio

Este documento presenta una introducción a R y RStudio. Explica brevemente qué es R, su historia y características. Luego describe cómo instalar R y RStudio, y explica los componentes básicos del lenguaje R como vectores, matrices, listas, factores, datos faltantes y data frames. Finalmente, cubre conceptos de programación en R como objetos, números, atributos, conversión de tipos, instrucciones condicionales y ciclos.

Cargado por

eorozcof
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 PDF, TXT o lee en línea desde Scribd

Bienvenida Sobre el conferencista

Miguel Angel Orjuela Rocha


Ing. de Sistemas y Computación

Skills: Contacto:
 Desarrollo Fullstack [Link]@[Link]
 Analítica de datos [Link]
 Transferencia de conocimiento [Link]
Contenido

■ ¿Qué es R?
■ R y RStudio
■ Entorno de desarrollo
■ Programación en R
■ Componentes del lenguaje
■ Estructuras de control
■ Funciones
¿Qué es R?
¿Qué es R?
• Dialecto de S. John Chambers. Bell Labs AT&T 1976

• R. Ross Ihaka y Robert Gentleman. Universidad de Auckland. Nueva


Zelanda. 1993
• GNU General Public License. 1995
• R Versión 1.0.0 Released. 2000
¿Qué es R?
Corre en casi todas las plataformas Programación interactiva
de computación y Sos Poderoso lenguaje de
Open Source programación
Releases muy frecuentes Stack Overflow
Capacidades gráficas sofisticadas
R y RStudio
R y RStudio
R y RStudio
Instalación
Entorno de
desarrollo
RStudio Cloud
• Servicio web que permite ejecutar R en la nube (servidores de
RStudio)

• Se inicia sesión y se crea un nuevo proyecto

Continuar en el navegador
Entorno de
desarrollo
Interfaz de RStudio
Interfaz de RStudio
Interfaz de RStudio
Interfaz de RStudio

Paso 1: Escriba 2 + 2
Paso 2: Oprima Ctrl+Enter
Paso 3: Oprima Ctrl+L
Programación en R
Programación
1. Ingresando expresiones 9. Matrices
2. Evaluación de expresiones 10. Listas
3. Objetos 11. Factores
4. Números 12. Valores faltantes/nulos
5. Atributos (Missings)
6. Vectores 13. Data frames
7. Objetos mixtos 14. Nombres
8. Conversión explícita (Coercion)

Continuar en el navegador
Calculadora
2 + 2
sqrt(9)
log(10)
Ingresando expresiones
Operador de asignación <-
x <- 1
print(x)
x
msg <- "hola"

La gramática del lenguaje determina si una expresión está completa o


no

Comentarios con #
# este es un comentario
Consejo: Alt + - inserta asignaciones
Evaluación de expresiones
Ingreso, evaluación, resultado impreso (autoprint)
x <- 5 # nada se imprime
x # auto-printing
print(x) # print explícito

y <- 11:40
y

¿Qué indica [1]?


[1] indica que x es vector y 6 es el primer elemento
Objetos
Clases básicas o atómicas de objetos
• character
• numeric (números reales)
• integer
• complex
• logical (true/false)

Vectores y listas
• vector – objetos de la misma clase
• list – objetos de diferente clase
Números
Números en R se tratan como objetos numéricos (reales de doble
precision)
x <- 1
print(x)
x
msg <- "hola"

Si queremos hacer enteros le ponemos el surfijo L y <- 1L

Verificar con commandos class, typeof, str


class(x)
Infinito Inf typeof(x)
str(x)
Not a number NaN 1/0
log(0)
0/0
Atributos
Los objetos de R tienen metadata, muy útil para describir el objeto
Algunos atributos son:
• names, dimnames
• dimensions
• class
• length x <- 1
print(x)
• Otros definidos por el usuario x
attributes(x)

Los atributos se consultan con attributes(). Si no tiene retorna null


Vectores
Función c() concatena objetos y hace vectores
x <- c(0.5,0.6) # numérico
x <- c(TRUE, FALSE) # lógico
x <- c(T, F) # lógico
x <- c("a", "b", "c") # caracteres
x <- 9:29 # enteros
x <- c(1+0i,2+4i) # complejos

Se puede usar la función vector() para inicializar vectores


x <- vector(mode = "numeric", length = 10)

Compruebe el tipo de x usando las funciones class(), typeof() y str()


Vectores
Creando vectores con objetos de diferente tipo

y <- c(1.7, "a") # caracteres


y <- c(TRUE, 2) # numericos
y <- c("a", TRUE) # caracter

Cuando esto sucede, R realiza una conversión implícita de los objetos


Vectores
Seleccionar elementos de los
vectores

Ejemplo x <- seq(1, 10, by = 0.5)

• Por posición • Por valor


x[1]
x[x == 10]
x[4]
x[x > 3]
x[-4]
x[x %in% c(1,2,5)]
x[2:4]
Conversión explícita
Funciones para hacer casting entre tipos de variables
x <- 0:6
class(x)
[Link](x)
[Link](x)
[Link](x)

¿Qué pasa cuando no hay forma razonable de transformar los datos?


x <- c("a", "b", "c")
[Link](x)
[Link](x)
[Link](x)
Matrices
Son vectores con un atributo de dimension. La dimension es un vector
de enteros de longitud 2 (num filas, num columnas)
m <- matrix(nrow = 2, ncol = 3)
m
dim(m)
attributes(m)

Las matrices son orientadas por columnas


m <- matrix(1:6, nrow = 2, ncol = 3)
m
Matrices
Se pueden crear de un vector agregandole dimension
m <- 1:10
m
dim(m) <- c(2,5)
m

También se crean pegando vectores filas o vectores columnas


x <- 1:3
y <- 10:12
cbind(x,y)
rbind(x,y)
Matrices
Seleccionar elementos particulares de una matriz
m <- 1:10
m
dim(m) <- c(2,5)
m

• Fila m[2, ]

• Columna m[ ,1]

• Elemento m[2,3]
Listas
Vectores con elementos de diferentes clases

x <- list(1, "a", TRUE, 1+4i)


x

x <- vector(mode = "list", length = 5)


x
Factores
Representan datos categóricos. Pueden ser desordenados u ordenados

x <- factor(c("yes","yes","no","yes","no"))
x
table(x)

¿Cómo están representados realmente?

unclass(x)
Factores
Agregando orden a las categorías

x <- factor(c("yes","yes","no","yes","no"))
x

x <- factor(c("yes","yes","no","yes","no"),
levels = c("yes","no"))
x
Valores faltantes/nulos (missings)
Detectar valores nulos y no numéricos
Un NaN es también un NA, pero un NA no es NaN

x <- c(1, 2, NA, 10, 3) x <- c(1, 2, NaN, NA, 4)


[Link](x) [Link](x)
[Link](x) [Link](x)
Data frames
Tipo especial de matriz que puede guardar diferentes tipos de
elementos en cada columna y todas las columnas tienen el mismo
tamaño

x <- [Link](foo = 1:4, bar = c(T, T, F, F))


x data <- mtcars
nrow(x) class(data)
ncol(x)
Names
Metadata que hace que los objetos se autodescriban

x <- 1:3
names(x)
x
names(x) <- c("New York", "Seattle", "Los Angeles")
x

x <- list("Los Angeles" = 1, Boston = 2, London = 3)


names(x)
x
Instrucciones condicionales
x <- runif(1,0,10)

if(<condition1>) {
if(<condition>) { if(<condition>) { ## hacer algo
## hacer algo ## hacer algo } else if(<condition2>) {
} else { } else { ## hacer algo diferente
## hacer algo diferente ## hacer algo diferente } else {
} } ## hacer algo diferente
}
Ciclos
En R, los ciclos for toman una variable iteradora y le asignan valores
sucesivos de una secuencia o vector.
Los ciclos for se usan más comúnmente para iterar sobre los
elementos de un objeto (lista, vector, etc.)

for(i in 1:10) {
print(i)
}
Ciclos
Los ciclos while inician verificando una condición, si se cumple, su
bloque de código se ejecuta. Una vez ejecutado, se vuelve a verificar, y
así sucesivamente hasta que la condición evalúa a falso.

count <- 0

while(count < 10) {


print(count)
count <- count + 1
}
Funciones

saludar <- function() sumar_dos <-


{ function(numero) {
print("hola") return(numero + 2)
} }
saludar() sumar_dos(4)

Sin retorno Con retorno


Gracias por tu asistencia y participación 
Contacto
[Link]@[Link]
[Link]
[Link]

Links de interés

• [Link]
• [Link]

También podría gustarte