Este documento presenta R, un lenguaje de programación y entorno para análisis estadístico. Explica que R surgió en 1993, es multiplataforma y de código abierto. Detalla los tipos de usuarios de R, como matemáticos, científicos de datos y financieros. Finalmente, resume los principales tipos de objetos en R como vectores, listas y data frames, y herramientas como funciones, paquetes y gráficas.
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
•Listas
•Listas Enlazadas
•Listas Circulares
•Listas Doblemente Enlazadas
•Pilas
•Colas
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
•Listas
•Listas Enlazadas
•Listas Circulares
•Listas Doblemente Enlazadas
•Pilas
•Colas
Creado por Ing. Alvaro Enrique Ruano
El objetivo de está presentación no es desarrollar un tutorial acerca de cómo empezar a usar R, más bien tratar de convencer al interesado de que invertir tiempo en desarrollar habilidades y competencias en el software es una buena inversión.
El objetivo de está presentación no es desarrollar un tutorial acerca de cómo empezar a usar R, más bien tratar de convencer al interesado de que invertir tiempo en desarrollar habilidades y competencias en el software es una buena inversión.
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Nerys Ramírez Mordán
El documento representa el primer módulo del curso de programación en R impartido por la Universidad Autónoma de Santo Domingo (UASD). El mismo incluye una introducción elemental al uso de los objetos y operadores básicos en R. Además incluye ejemplos comentados y ejercicios para ir verificando el avance.
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Onboarding new members into an engineering team is not easy on anyone. In a short period of time, the new team member is required to be able to bring professional
Por Victoriya Kalmanovich
El secreto para ser un desarrollador SeniorSoftware Guru
En esta charla platicaremos sobre el “secreto” y el camino para llegar a ser un desarrollador Senior, experiencia, consejos y recomendaciones que en estos 8 años
Por René Sandoval
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
How thick data can improve big data analysis for business:Software Guru
En esta presentación hablaré sobre cómo el Análisis de Datos Gruesos, específicamente el análisis antropológico y semiótico, puede ayudar a mejorar los resultados del Big Data
Por Martin Cuitzeo
CoDi® es la nueva forma de realizar pagos digitales desarrollada por el Banco de México. Por medio de CoDi puedes realizar cobros y pagos desde tu celular, utilizando una cuenta bancaria o de alguna institución financiera, sin comisiones.
Por Cristian Jaramillo
Gestionando la felicidad de los equipos con Management 3.0Software Guru
En las metodologías agiles hablamos de equipos colaborativos, autogestionados y felices. hablamos de lideres serviciales. El management 3.0 nos ayuda a cultivar el mindset correcto, aquel que servirá como el terreno fértil para que la agilidad florezca.
Por Andrea Vélez Cárdenas
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
Hoy por hoy las experiences de usuario pueden ser enriquecidas mediante el uso de Web Components, que son un estándar de la W3C soportado por la mayoría de los navegadores web modernos.
Por Alex Arriaga
Así publicamos las apps de Spotify sin stressSoftware Guru
En Spotify tenemos 1600+ ingenieros, trabajando en 280+ squads. Aún a esta escala, hemos logrado adoptar prácticas que nos han permitido acelerar la forma en que desarrollamos nuestro producto. Presentado por Erick Camacho en SG Virtual Conference 2020
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
he measure of the executive, Peter F. Drucker reminds us, is the ability to "get the right things done." This involves having clarity on what are the right things as well as avoiding what is unproductive. Intelligence, creativity, and knowledge may all be wasted if not put to work on the things that matter.
Presentado por Cristina Nistor en SG Virtual Conference 2020
Acciones de comunidades tech en tiempos del Covid19Software Guru
Acciones de Comunidades Tech en tiempo del COVID-19 es una platica para informar acerca de las acciones que están realizando algunas comunidades de tecnología en México para luchar contra la propagación del COVID-19. Desde análisis de datos, visualizaciones, simulaciones de contagio, etc.
Presentado por Juana Martínez, Adriana Vallejo y Eduardo Ramírez en SG Virtual Conference 2020
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
La charla presenta un modelo claro, generado por la ponente, para atender los niveles desde lo operativo a lo estratégico.
Presentado por Gabriela Salinas en SG Virtual Conference
2. AGENDA
• Qué es R y cómo surge
• Usuarios y usos
• Qué instalar
• El lenguaje…
• Y sus peculiaridades
3. QUÉ ES
1.Un lenguaje de
programación
2.El software libre
multiplataforma que
ejecuta programas escritos
en R y es altamente
extensible
4. EL ORIGEN
•Ross Ihaka (izq.) y Robert
Gentleman (der.), 1993
•Es un dialecto del lenguaje S
de Bell Systems (1970’s)
•Actualmente hay unas 20
personas trabajando en R
7. EMPRESAS
... R is used in the news cycle at the The New York Times to crunch
data and prepare graphics before they go to print or online…, beyond
"Here is some data:" toward something closer to inference."
8. PARA QUÉ LO USAN
•Estadística
•Visualización
•Supercómputo
•Finanzas
•Inteligencia artificial (machine learning)
•Imagenología médica
•Econometría
•Física computacional
10. INSTALACIÓN
1. Ir a http://cran.r-project.org/
mirrors.html
2. Elegir un mirror
3. Elegir una versión para tu
sistema operativo (Linux,
Windows, OS X; código
fuente y binarios)
!
¿Dudas? http://cran.r-project.org/doc/manuals/R-admin.html
24. MULTIPARADIGMA
• Imperativo (como un script,
ejecutando una instrucción
tras otra, como Python)
• Orientado a objetos (estilo
Java)
• Funcional (estilo Lisp, con
funciones de primera clase —
funciones que pueden ser
pasadas como argumentos de
otras funciones—)
25. MULTIPARADIGMA
• Imperativo (como un script,
ejecutando una instrucción
tras otra, como Python)
• Orientado a objetos (estilo
Java)
• Funcional (estilo Lisp, con
funciones de primera clase —
funciones que pueden ser
pasadas como argumentos de
otras funciones—)
Como diría Larry Wall, esto
sólo significa que…
“Hay más de una forma de
hacerlo”
26. “EL PROBLEMA DE R ES
QUE FUE ESCRITO POR
GENTE DE ESTADÍSTICA”
27. MÁS QUE UN LENGUAJE
R es un entorno de programación para hacer estadística
(de ahí sus peculiaridades)
28. MÁS QUE UN LENGUAJE
• Más que un lenguaje, un
entorno de interactivo de
programación
• Pensemos en R más como
un entorno que “tiene un
lenguaje” y menos como “es
un lenguaje”
• Así como Excel tieneVBA
30. ASIGNACIÓN
• La flecha <- es el operador
de asignación
e <- m*c^2
• Aunque es posible esto, es
raro…
m*c^2 -> e
31. GUIÓN BAJO
• Antes podías hacer esto para asignar el valor
de ‘f ‘a la variable ‘e’
e_f
• Muuuy raro…Y esto llevó a usar el punto
en el nombre de las variables
e.numero <- 2
• Eso desembocó en el uso de $ tal como
usamos el punto en otros lenguajes
e$columna
32. LETRAS “RESERVADAS”
• O que es mejor usar como tales
c, q, s, t, C, D, F, I, T
• Por ejemplo:
• T y F son variables globales que valen por
defectoTRUE y FALSE, respectivamente…
Pero pueden cambiar :)
• c es la función para crear vectores
• q es la versión corta de quit, para terminar
la sesión
33. VECTORES
• Es el tipo de dato primario en R
• Los vectores en R no son objetos
matemáticos (elementos de un espacio
vectorial)
• Los vectores en R son colecciones de
datos, con operaciones uno-a-uno
35. VECTORES
• No hay escalares en R, en todo caso, son
vectores con un solo elemento.
• Los vectores tienen el mismo tipo de dato.
36. VECTORES
• A diferencia de la mayoría de los lenguajes, el índice inicial es 1 y
no 0 (como en FORTRAN)
• El índice 0 es nada, literalmente. Una constante lógica llamada NA
en R que indica “valor perdido”. Es parecido al NULL, y None de
otros lenguajes.
• (Pero R tiene su propio valor NULL: un objeto utilizado para
indicar que hay valores indefinidos.)
37. VECTORES
• Los índices negativos también son extraños…
• En Python
• y = [1,2,3,4]
• y[-3] es 2
• En R
• y <- c(1,2,3,4)
• y[-3] es eliminar el tercer componente
38. VECTORES
• R tiene indices booleanos, y pueden ser muy útiles
para seleccionar elementos
!
!
• Y en asignaciones también
39. TIPOS
• Un vector debe contener solo uno
de estos tipos de datos atómicos
• logical, integer, double, complex,
character, raw.
• La función as. permite convertir
tipos (typecasting)
40. LISTAS
• Son como vectores,
pero con diferentes
tipos de datos
• Accedes a los
elementos con [[]]
43. MATRICES
• Tipo de datos rectangular: columnas y filas,
todas con el mismo tipo de datos básico
• O bien, un vector pero con el atributo dim: la
dimensión expresada en filas por columnas
44. DATA FRAMES
• Es la “hoja de cálculo” de R (salvo porque las
operaciones aplican a toda una fila o columna)
• A diferencia de una matriz, mezcla nombres,
números y todo tipo de datos
• Excelente para manipular CSV, XLS, etc.
48. UN RESUMEN
• Tres tipos de objetos:
1. Vector
2. Lista
3. NULL
• Objetos derivados:
1. Matriz
2. Data Frame
3. Factor (una forma de categorizar datos)
50. FUNCIONES
• Son como en JavaScript:
• También son objetos, pero
sin llamarles clases
• Es POO basada en
prototipos
• Puedes crear funciones
anónimas (lambda)
• Los argumentos siempre son
pasados por valor (salvo
cuando son cambiados)
57. GRÁFICAS
• Nuestro lienzo es un graphics device creado principalmente con
plot()
• Y sobre ese lienzo vamos pintando nuestra gráfica de forma muy
personalizable
• Además de plot() tenemos pie(), hist(), rect(), polygon() y más
funciones incluidas con R.
• R tiene varios paquetes para gráficas:
• rid
• lattice
• ggplot2 (muy popular)
60. ARCHIVOS
• CSV
• data <- read.csv(“datafile.csv")
• XLS
• library(gdata)
• data <- read.xls(“data.xls")
• Donde la variable data es un data frame
• También abre archivos SPSS,TXT, XML, …
62. CONCLUSIONES
• R es extraño (sintácticamente) para los
programadores tradicionales
• R es software libre con una gran comunidad
• R es poderoso para hacer análisis de datos,
con miles de paquetes disponibles