Sei sulla pagina 1di 56

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

FACULTAD DE CIENCIAS

ESCUELA DE FISICA Y MATEMATICA


CARRERA DE INGENIERIA EN ESTADISTICA-INFORMATICA

PRESENTA
CURSO-TALLER
“ESTADISTIMATICA R”
(MODELIZACION ESTADISTICA-INFORMATICA CON R)
ESPOCH 2015-2016
Dr. Jorge Congacha
OBJETIVOS DEL CURSO-TALLER
APRENDER CÓMO PROGRAMAR EN R Y CÓMO USAR RStudio PARA REALIZAR UN ANÁLISIS DE DATOS EFICAZ.

 UTILIZAR EL SOFTWARE LIBRE R EN EL MANEJO ESTADISTICO


DE DATOS .
 MOTIVAR EL ESTUDIO DE LA ESTADÍSTICA APLICANDO R-
RSTUDIO Y GENERANDO AMBIENTES QUE FACILITEN LA
INVESTIGACION
 APLICAR TECNICAS ESTADISTICAS CON R Y RSTUDIO PARA
LA INVESTIGACION
 FAMILIALIZAR CON LA SINTAXIS DE LAS FUNCIONES DE R
 APLICAR TIC’S PARA MEJORAR LA ENSEÑANZA-APRENDIZAJE
DE LA ESTADÍSTICA: BING TRADUCTOR, RSTUDIO, BLOGGERS,
SHINY, QUICK –R, COURSERA.ORG(plataforma educativa),
BigData University…
Acerca del Curso-Taller
Aprenderemos dos aspectos fundamentales: programar en R
utilizando el interfaz rstudio y usarlo para un manejo
estadístico de datos de manera eficaz.
Veremos cómo instalar y configurar el software necesario para
un entorno de programación estadístico.
El curso-taller abarca aspectos prácticos de estadística-
informática que incluyen programación en R, lectura de datos
en R, escribir funciones en R, depurar datos en R,
caracterización, organización y anotación de código de
programación (scripts) en R.
Los temas relacionados con el manejo estadístico de datos
aportarán ejemplos prácticos.
Simultáneamente aprenderemos el entorno gráfico estadístico
de R.
Programa de ESTADISMATICA R

El curso-taller ESTADISMATICA R ofrece cuatro módulos:

MODULO 1: Fundamentos del Software estadístico R

MODULO 2 : Procedimientos Gráficos con R

MODULO 3 : Objetos de R y Modelos estadísticos con R

MODULO 4 : Aplicación de los modelos estadísticos con R


Preparación previa recomendada

Será útil que los participantes estén


familiarizados con conceptos
ELEMENTALES de programación y posean
conocimientos BÁSICOS de razonamiento
estadístico
Organizador
GRUPO DE INVESTIGACION
“ESTADISMATICA”

Duración
48 Horas con cuatro módulos y cada módulo de 12 horas
divididas en
8 horas presenciales (HP) y 4 horas de trabajo individual (HTI)

Fecha y Hora del curso


Modulo 1: Desde el 29/10/15 – 19/11/15 09:00-11:00 (11:00-13:00)
Modulo 2: Desde el 26/11/15 – 17/12/15 09:00-11:00 (11:00-13:00)
Modulo 3: Desde el 23/12/15 – 14/01/16 09:00-11:00 (11:00-13:00)
Modulo 4: Desde el 21/01/16 – 04/02/16 09:00-11:00 (11:00-13:00)
Lugar
Laboratorio de computadoras FIMA

Aval
FIMA-ESPOCH
Presentación y objetivos
La Estadística es una rama de las Matemáticas que trata recopilar,
representar, analizar (o modelizar) e interpretar datos, con la
finalidad de ayudar a tomar decisiones (o formular predicciones) y
sacar conclusiones. Muchos docentes-investigadores y estdiantes
de la ESPOCH que dominan su especialidad presentan dificultades
en la parte estadística, lo cual ha repercutido a que la
investigación sea vista como una actividad poco accesible.
Por tanto, el objetivo de este curso-taller es la adquirir y fortalecer
la Estadística Matemática(Descriptiva-Probabilidades-Inferencial) y
conocer herramientas metodológicas de R que posibiliten la
aplicación correcta de las técnicas estadísticas en las distintas
etapas de la investigación científica. El curso-taller combinará
conocimientos teóricos con aplicaciones prácticas, utilizando el
software estadístico libre R.

NOTA. R EN LA ACTUALIDAD ES EL SOFTWARE DE MAYOR IMPLANTACION EN


LA COMUNIDAD CIENTIFICA.
R ES UN LENGUAJE DE PROGRAMACIÓN Y UN ENTORNO PARA ANÁLISIS
ESTADÍSTICO Y LA REALIZACIÓN DE GRÁFICOS.
Observaciones 1/3
 Pretendo lograr concienciar la relación propia que existe entre
docencia e investigación.
 No quiero enseñar a manejar un programa, sino a hacer análisis
estadísticos con el apoyo de una herramienta como R que
facilitara el cálculo y la aplicación de los procedimientos
estadísticos.
 Quiero enseñar y también aprender el funcionamiento de R
 Mi objetivo este momento es: adquirir algunas nociones y
conceptos y avanzar progresivamente en la utilización de R
para desarrollar modelos estadísticos con este software libre.
 Elaborar material para la docencia y la investigación
 Soy un docente-investigador que quiere utilizar R.
Observaciones 2/3
La decisión de elegir R no fue tan fácil, ningún otro
programa en la actualidad reúne las condiciones de
flexibilidad, madurez, cantidad de recursos y manejabilidad
que posee R, además de ser el que tiene una mayor
implantación en la comunidad cientìfica. El incorporar la
interfaz gráfica de usuario RStudio pretende, en primera
instancia, facilitar el manejo de R y, en segundo lugar, servir
como generador de instrucciones R (Scripts). Una vez
superado el respeto inicial a la herramienta, se decantarán
por manejarse directamente con la consola de R, creando y
editando instrucciones con una evidente economía de
recursos y, lo que es más importante, con un control total
sobre los procedimientos que en cada momento se van a
aplicar.
Observaciones 3/3
Una diferencia importante entre R, con el resto del software estadístico es el uso del objeto como entidad
básica. Cualquier expresión evaluada por R tiene como resultado un objeto. Cada objeto pertenece a
una clase, de forma que las funciones pueden tener comportamientos diferentes en función de la clase a
la que pertenece su objeto argumento. Por ejemplo, el resultado de la función print evaluada sobre un
vector da como resultado la impresión de todos los elementos del vector mientras que la misma función
evaluada sobre una función muestra información sobre ella.
De la misma manera, la función plot no se comporta igual cuando su argumento es un vector que
cuando es un fichero de datos o una función. Las actividades de aprendizaje ayudarán evaluar los
conocimientos adquiridos.

Veamos con las siguientes actividades de aprendizaje(AA) lo dicho y tengamos de manera sucinta
presente que “R es un lenguaje y un entorno para efectuar cálculos estadísticos y análisis gráficos, de
distribución libre con un costo de cero dólares.
AA1: crear 2 vectores e imprimirlos(x <- 1:50 e y <-rnorm(50)). Además calcular con comandos algunas
estadísticas descriptivas y realizar un diagrama de dispersión con el comando plot(x,y) y mejorar su
presentaciòn.

AA2: Con los comandos dados del paquete “graphics” poner colores y llamarla a esta grafica “la
alfombra guaneña”. ¿Aprecia la potencialidad de R?
¿Qué es R?
 R es un sistema para análisis estadísticos y gráficos creado por
Ross Ihaka y Robert Gentleman.
 R tiene una naturaleza doble de programa y lenguaje de
programación.
 R se distribuye gratuitamente bajo los términos de la GNU General
Public Licence; su desarrollo y distribución son llevados a cabo
por varios estadísticos conocidos como el Grupo Nuclear de
Desarrollo de R.
 R está disponible en varias formas: el código fuente escrito
principalmente en C (y algunas rutinas en Fortran),
esencialmente para máquinas Unix y Linux, o como archivos
binarios pre compilados para Windows, Linux , Macintosh y Alpha
Unix.
 Los archivos necesarios para instalar R, ya sea desde las fuentes o
binarios pre-compilados, se distribuyen desde el sitio de internet
Comprehensive R Archive Network (CRAN) junto con las
instrucciones de instalación.
¿Qué hace R?
 R posee muchas funciones para hacer análisis estadísticos y
gráficos.

 Al principio, R puede parecer demasiado complejo para el no-


especialista. Esto no es cierto necesariamente. De hecho, una de
las características más sobresalientes de R es su enorme
flexibilidad. Mientras que programas más clásicos muestran
directamente los resultados de un análisis, R guarda estos
resultados como un “objeto”, de tal manera que se puede hacer
un análisis sin necesidad de mostrar su resultado inmediatamente.
Esto puede ser un poco extraño para el usuario, pero esta
característica suele ser muy útil.
¿Cómo funciona R?
 Indico que el operador “asignar” en R esta compuesto por < -
(signos menor que y menos) el cual permite crear objetos en R.
 R es un lenguaje Orientado a Objetos: bajo este complejo término
se esconde la simplicidad y flexibilidad de R. El hecho que R es un
lenguaje de programación puede desaminar a muchos usuarios
que piensan que no tienen “alma de programadores”. Esto no es
necesariamente cierto por dos razones. Primero R es un lenguaje
interpretado (como Java) y no compilado (como C, C++, Fortran,
Pascal,. . .), lo cual significa que los comandos escritos en el
teclado son ejecutados directamente sin necesidad de construir
ejecutables. Como segunda medida, la sintaxis de R es muy simple
e intuitiva. Por ejemplo, una regresión lineal se puede ejecutar con
el comando lm(y~x). Para que una función sea ejecutada en R
debe estar siempre acompañada de paréntesis, inclusive en el
caso que no haya nada dentro de los mismos (por ej., ls()). Si se
escribe el nombre de la función sin los paréntesis, R mostrara el
contenido (código) mismo de la función.
MODULO 1: Fundamentos del Software
estadístico R :
Sesión 1
 Instalación de los paquetes de software R y RStudio
 Describir la historia del software libre R
 Describir las diferencias entre tipos de datos atómicos
 Ejecutar operaciones aritméticas básicas
 Objetos de subconjunto R usando el "[", "[[" y los
operadores de '$' y vectores lógicos
 Describir la función de coerción explícita de R
 Quitar valores faltantes (NA) de un vector
 Actividades de aprendizaje No. 1
MODULO 1: Fundamentos del Software estadístico
R e Introducción a la Estadística Aplicada:
Sesión 2
 Descripción numérica: medidas de tendencia, de
dispersión y correlación
 Representaciones gráficas: diagramas: barras,
polígonos de frecuencia, de caja o box-plot, de tallo
y hoja o stem and leaf, circulares o pastel ,
histogramas, dispersión, radiales y otros
 Conceptos y cálculos de probabilidad
 Algunas distribuciones discretas y continuas: Binomial,
Uniforme, Poison, normal, exponencial, t-student, Chi-
cuadrada, F y otras.
 Actividades de aprendizaje No. 2
Instalación del software R y RStudio

Depende del sistema operativo, pero todo se puede


encontrar en
http://cran.r-project.org/bin.

Windows: bajar ("download") el ejecutable desde


http://cran.r-project.org/bin/windows/base.

Rstudio se instala de manera análoga


Ejecutar el fichero. Instalará el sistema base y los
paquetes recomendados: foreign; xlsx; reshape2; ggplot2;
vocd
Paquetes adicionales
R consta de un "sistema base" y de paquetes adicionales que
extienden la funcionalidad. Distintos "tipos" (+4000 de paquetes):
 Los que forman parte del sistema base (p.e. ctest).
 Los que no son parte del sistema base, pero son
"recommended" (p.e. foreign, ggplot2, reshape2, survival,
nlme,…).
 Otros paquetes; p.e. car, gregmisc, los paquetes de
Bioconductor (como multtest, etc). Estos necesitamos
seleccionarlos e instalarlos individualmente. Más adelante
veremos como dependerá de nuestras necesidades.
Base y Paquetes de R
El sistema estadístico R se divide en 2 partes conceptuales:
1. La "base" del sistema R que se descarga desde CRAN
2. Todos los demás.
El sistema R "base" contiene, entre otras cosas, el paquete básico
que se requiere para ejecutar R y contiene las funciones más
fundamentales. La funcionalidad R se divide en un número de
paquetes
1.3 Describir la historia del software libre R

 Piense en la pregunta ¿Què es R? y podemos contestar que R es


un dialecto de S ¿Qué es S?.
 En 1976. S lenguaje de programación desarrollado por John
Chambers en los laboratorios Bell desaparecidos.
 En 1988 el sistema S fue programado en C
 En 1998 se hace el lanzamiento de la 4ta versión del lenguaje S
tambien escrito por J. Ch. en su obra “Programming with data”
Ahora hablemos de R
 En 1991 fue creado por Ross Ihaka y Robert Gentleman de la
Universidad de Auckland en Nueva Zelanda.
Crearon a R como un lenguaje para ayudar enseñar estadística
a sus estudiantes.
 En 1993 se hizo publico R
 En 1995, Martin Michler comunicó a Ross y Robert de poner R
bajo la licencia GNU para el público convirtiendo en “software
libre” o “ free software”.
Describir la historia del software libre R
 En 1996 se crean 2 listas de correo: R-help para preguntas y R-
devel para participar en trabajos para R.
 En 1997 se el grupo “R core group” personas que sugieren cambios
en R
Un poco más de historia:
Antes recordemos que en 1993 Bell Labs venden los derechos de S a
StatSci que se convirtio en Insightful Corporation y desarrolla y vende
S
 En 2004, Insightful compra todos los derechos de S a Lucent-Bell
 En 2006 Alcatel compro Lucent Technologies y ahora se llama
Alcatel Lucent. Insightful desarrollo e implemento S (S-PLUS)
 En 2008 Insightful Corporation fue adquirido por una compañía
llamada TIBCO que desarrolló S-PLUS. Como vemos la historia es
tediosa debido a las multiples adquisiciones corporativas .
Consultar en http://www.stat.bell-labs.com/S/history.html.
Ayuda incluida con el programa R

 ?rnorm; ?help.search; ?apropos;


 help.start()
 help.search("normal")
 apropos("normal")
 ?demo
 demo(graphics); demo(persp); demo(lm.glm)
Usando R con RStudio
¿Por qué usar R con RStudio? RStudio es un entorno la interfaz de R y
tiene 4 secciones:
 1ra. sección para comandos: Para ver directorio(getwd(), para cambiarse de directorio
setwd(“C:/DOCUMENTACION DE J Y M/INVESTIGACION ESTADISTICA/PROYECTO CON
R”).Uso de scripts; mantenimiento de código ordenado y comentado. "Buena práctica
estadística". Para ver matriz de datos (data frame). Más que un editor... Uso y
programación: La extensión de un fichero es .R(para abrir o crear un fichero con
extensión Py, cpp, tex, html, .R)
 2da. sección workspace: para datos, variables, funciones, etc. Para ver historial
 3ra. sección consola: interfaz como consola de R
 4ta sección para ambientes operativos: archivos, gráficos, instalar paquetes, ver ayuda
instala paquetes seleccionados por defecto, para paquetes requeridos.
Observaciones:
 Iniciamos RStudio en el directorio de nuestro interés.
 Abrimos o creamos un fichero con código en R.
 Podemos instalar paquetes básicos(otros) desde RStudio:foreign, xlsx, reshape2, ggplot2,
vocd. Para descargar con requiere(foreign),…, requiere(vocd). También con el
comando: library(foreign),…
 Salir de R. Es preferible hacer explícito la salida de R vía "q()"
RStudio, interfaz que facilita el uso de R.
RStudio, sirve como generador de instrucciones de R.
OBSERVACIONES:
1. NO DEBEMOS CONFORMARNOS CON MANIPULAR
RSTUDIO, EL INVESTIGADOR DEBE TOMAR AL R COMO UNA
HERRAMIENTA QUE AL MANEJAR DIRECTAMENTE LA
CONSOLA DE R CREE Y EDITE INSTRUCCIONES CON UNA
EVIDENTE ECONOMIA DE RECURSOS Y LO QUE ES MAS
IMPORTANTE, CON UN CONTROL TOTAL SOBRE LOS
PROCEDIMIENTOS QUE EN CADA MOMENTO SE VAN
APLICAR. LA COMUNIDAD CIENTIFICA USA R COMO
ESTANDAR PARA EL ANALISIS DE DATOS Y DA SOLUCION A
UNA GRAN CANTIDAD DE PROBLEMAS ESTADISTICOS.
2. R ABARCA UNA AMPLIA GAMA DE TECNICAS
ESTADISTICAS QUE VAN DESDE LOS MODELOS LINEALES A LAS
MAS MODERNAS TECNICAS DE CLASIFICACION PASANDO
POR LOS TEST CLASICOS Y EL ANALISIS DE SERIES TEMPORALES.
PROPORCIONA UNA AMPLIA GAMA DE GRAFICOS QUE
ADEMAS SON FACILMENTE ADAPTABLES Y EXTENSIBLES. LA
CALIDAD DE LOS GRAFICOS PRODUCIDOS Y LA POSIBILIDAD
DE INCLUIR EN ELLOS SIMBOLOS Y FORMULAS MATEMATICAS,
POSIBILITAN SU INCLUSIÓN EN PUBLICACIONES QUE SUELEN
REQUERIR GRÁFICOS DE ALTA CALIDAD.
Primera sesión (I)
> rnorm(5) # 5 números aleatorios de una distribución normal (mean= 0, sd = 1)
> ## Hemos dicho que "#" indica el comienzo de un comentario
> ## Los números se producen, y se muestran (print).
> x <- rnorm(5) # asignamos esos 5 nùmeros a un objeto (un vector) llamado x.
> summary(x) ## mostrar un "summary" de x (un summary
"inteligente").
> ## o también:
> w <- summary(x); w; print(w) # w y print(w) producen el mismo resultado.
 ## summary(x) TAMBIEN es un objeto. (virtually) "everything is an object".
Observación.
Las asignaciones se hacen con "<-", y es buen estilo el rodear "<-" por un
espacio a cada lado.

x<-1:5 # Mal estilo


x <- 1:5 # Mucho mejor
Un ejemplo de bioestadística o biometría
Algunos comandos para probar (II)
 > x1 <- rnorm(100)
 > x2 <- rnorm(100)
 > plot(x1, x2)
 > typo.paciente <- factor(c(rep("e", 50), rep("s", 50)))
 > plot(x1, x2, type = "n", xlab = "gen A", ylab = "gen B")
 > points(x1, x2, col = c("red", "blue")[typo.paciente])
 > rug(x1)
 > #¿Qué esta pasando?
 > par(mfrow = c(2,2))
 > typo.paciente <- factor(c(rep("Enfermo", 50), rep("Sano", 50)))
 > plot(x1, x2, type = "n", xlab = "gen A", ylab = "gen B"); # Cambie n por p o l en type
 > points(x1, x2, col = c("red", "blue")[typo.paciente], pch = 19)
 > boxplot(x1 ~ typo.paciente, ylab = "Expresion normalizada", xlab = "Tipo de paciente")
 > hist(x1)
 > hist(x2, main = "Histograma del gen B")
Un ejemplo más largo
 #Vamos a ordenar un conjunto de datos en función del p-value
# del estadístico de la t. (Simulamos los datos; sujetos en columnas,
# "genes" en filas.)
 >dataA <- matrix(rnorm(50 * 100), ncol = 50)
> clase <- factor(c(rep("sano", 20), rep("enfermo", 30)))
> tmp <- t.test(dataA[1, ] ~clase)
> tmp
> attributes(tmp)
> tmp$p.value
> resultado <- apply(dataA, 1, function(t.test(x ~ clase)$p.value))
> hist(resultado); order(resultado)
> which(resultado < 0.05)
Segundo ejemplo
 Además de dataA (ej., medidas de expresión con la técnica
A); tenemos dataB (con la técnica B).
>#Actividad de aprendizaje: Queremos seleccionar
aquellos genes con alta correlación positiva.

 > dataB <- matrix(rnorm(50 * 100), ncol = 50)


> correlaciones <- apply(cbind(dataA,dataB), 1,
+ function(x) cor(x[1:50], x[51:100]))
> order(correlaciones)
> which(correlaciones > 0.7)
> hist(correlaciones)
Describir las diferencias entre tipos de datos atómicos

Las entidades que manipula R se llaman Objetos. Por ejemplo: variables, datos,
arreglos, etc. Los vectores de números reales o complejos; lógicos o caracteres se
guardan en la memoria de la computadora en forma de objetos, con un nombre en
específico. El usuario puede modificar o manipular estos objetos por medio de
operadores (aritméticos, logicos) y funciones (otros objetos). Este tipo de objetos se
denominan “estructuras atómicas”, puesto que son del mismo tipo bien sea numeric,
complex, logical o character. R también maneja objetos denominados listas y pueden
ser de cualquier tipo y/o combinado.

R es un lenguaje interpretado (como Java) y no compilado (como C, C++, Fortran,


Pascal, . . . ), lo cual significa que los comandos escritos en el teclado son
ejecutados directamente sin necesidad de construir ejecutables.

Orientado a Objetos significa que las variables, datos, funciones, resultados,


etc., se guardan en la memoria activa del computador en forma de objetos con un
nombre específico. El usuario puede modificar o manipular estos objetos con
operadores (aritméticos, lógicos, y comparativos) y funciones (que a su vez son
objetos).
Creación de un objeto.
(Casi) todo en R es un objeto.

> A <- 1
>A=1
> assign(“A”, 1)
>A
[1] 1
Los nombres pueden usar dígitos, caracteres alfanuméricos y
“.”, “-”.
Los nombres pueden empezar con “.” o letras, si empieza
con “.” el segundo caracter no debe ser un dígito.
> a <- 1:10 # a es un vector que contiene los 10 primeros
naturales y es un vector u objeto diferente a A, R es sensible.
>b <- c(49,49,19,16,13) # otro vector llamado b y se le asigna
las edades de los miembros de la familia Congacha-Ortega.
ASPECTOS IMPORTANTES DE R
(para empezar)
I. Manejo Estadístico de datos
en R
II. Importando R exportando
datos en R
III.Gráficos en R
IV.Programación en R
I. Manejo Estadístico de
datos en R
1) Tipos de objetos
2) Operaciones aritméticas
3) Generación de secuencias
4) Acceso a elementos
5) Ordenación
6) La familia apply
1) Tipos de objetos 1/4
 vector Colección ordenada elementos del mismo tipo.
 > x <- c(1, 2, 3); y <- c("a", "b", "Hola"); v1 <- c(TRUE, TRUE, FALSE)
> #¿Qué tipo de datos son: x, y , v1?

 array Generalización multidimensional de vector. Elementos


 del mismo tipo.

 data frame Como array, pero permiten elementos (columnas)


 de distintos tipos. El objeto más habitual para manejo de datos
 procedentes de experimentos.
 > datos <- data.frame(ID = c("gen0", "genB", "genZ"), subj1 = c(10,
25, 33), subj2 = c(NA, 34, 15), oncogen = c(TRUE, TRUE, FALSE), loc =
c(1,30, 125)); datos
1) Tipos de objetos 2/4
 factor Un tipo de vector para datos categóricos.
 list Un "vector generalizado". Cada lista está formada por
componentes (que pueden ser otras listas), y cada componente
puede ser de un tipo distinto. Son unos "contenedores generales".
> una.lista <- c(un.vector = 1:10, una.palabra = "Hola",
+ una.matriz = matrix(rnorm(20), ncol = 5), otra.lista = c(a = 5,
+ b = factor(c("a", "b"))))

 funciones Código.
1) Tipos de objetos:
Atributos de los objetos 3/4
 x <- 1:15; length(x)
y <- matrix(5, nrow = 3, ncol = 4); dim(y)

 is.vector(x); is.vector(y); is.array(x)


mode(x); mode(y); z <- c(TRUE, FALSE); mode(z); attributes(y)
 w <- list(a = 1:3, b = 5); attributes(w)
 y <- as.data.frame(y); attributes(y)
 f1 <- function(x) {return(2 * x)}; attributes(f1)
is.function(f1)
 x1 <- 1:5; x2 <- c(1, 2, 3, 4, 5); typeof(x2); typeof(x3)

 Los atributos podemos verlos, pero también podemos cambiarlos


1) Tipos de objetos:
Nombres de objetos 4/4
 Los nombres válidos para un objeto son combinaciones de letras,
números, y el punto (".").
 Los nombres no pueden empezar con un número. R es "case-
sensitive". x != X.
 Hay nombres reservados (“c”, "function", "if", etc).

 Las "reglas" habituales de nombrar objetos en programación (usar


estilo consistente, uso razonable del ".", nombres que tengan sentido
-equilibrio- entre longitud y frecuencia de uso, etc). Por ej., se suele
nombrar data frames con la inicial en mayúscula, pero las variables
siempre en minúscula. Si varias funciones hacen cosas
parecidos a objetos distinto, se separa con "." (más fácil luego usar
clases).
 Sobre el uso de ";". No es bueno abusar, porque hace el código
muy difícil de leer. (Pero en estas diapositivas, si no se lo usara
ocuparíamos muchísimo espacio).
2. Operaciones aritméticas
(Ejecutar operaciones aritméticas básicas

)
FUNDAMENTAL: R puede operar sobre vectores enteros de un golpe.
> x <- 1:10
> y <- x/2; z <- x^2; w <- y + z
 Si un elemento es más corto, se "recicla". Es "intuitivo" si la operación es
escalar con vector. Pero también ocurre en operaciones entre vectores.
 > x + 15
 > x2 <- 1:5
 El reciclado cuando (vector, escalar) suele ser lo que
 queremos. Entre vectores no siempre: cuidado. (R da un
 > x + x2
 warning, de momento –S4 classes dan un error).
Manejo estadístico de
datos en R
 Tipos de objetos(datos): numeric, character, logical,
complex.
 Operaciones elementales: +, -, *, /, ^, %% (suma,
sustracción, multiplicación, división, potenciaciòn, módulo)
 Generación de secuencias: p.e. 1: 20; seq(x,5), rep(x,5)
¿què han generado para un x particular?
 Acceso a elementos de un comando con la tecla
tabulador (tab). P.e. sort(x,…) presionar tecla tab después de la coma)
 Ordenación de elementos de un objeto: sort()
Vectores
a <- 1:10 ; a
> x <- c(5, 7, 10.4, 6.8, 4.32);x
>1/x
> y <- c(x, 0, x)
> m <- rep(“no”, 10)
> d <- 1+0i; e <- 17-3i
> y <- seq(2,4)
> nombre <- c(“Jorge”, “Miriamín”, “Giorgia”,”Antonella”, “Sofia”)
> estatura <-c(165,149,152,155,153)
> logico <- c(TRUE, FALSE,FALSE,FALSE,FALSE)
Actividad de aprendizaje. ¿Qué tipo de objetos son los
anteriormente definidos? Para averiguar digite class o mode
>class(a); class(m); class(nombre); class(logico); class(d);mode(x)
Aritmética con vectores
> y <- c(1, 2)
> v <- 2 * x + y; #¿Què esta sucediendo?
> a <- c(4, 6, 7, 5, 3, 8); y<-1:6
> v <- 2* a + y
¿Qué pasa si aplicamos directamente operaciones
aritméticas?
1/0; 0/1;0/0; pi; exp(1);1+5;3-5;6/7?
¿Existe la raíz cuadrada de un numero negativo? NO (en R)
En C, campo de los complejos, si existe, p.e. raíz(-9)= 3i
¿Cómo halla en el software R esta raíz?
Resp. sqrt(-9+0i) = 3i
Recuerde: -1 = i2
Actividad de aprendizaje: realice las
siguientes operaciones con los vectores
definidos:x, y, z

x<- 1:10
y<-rnorm(10)
z<- c(2,3)
x+y;x-y;x*y;x/y;x^¨2;x^z¿Cómo esta funcionando R?
sum(x);prod(y);max(z);min(x);sqrt(z)
c(2, 3,1) + c( 3, 4, 5)
c( 2, 3 ,5) + c( 3, 4, 5, 8 ) ¿Cómo esta funcionando R?
#Número complejo z1 = a +bi, a y b números reales, todo
Número real es un numero complejo ¿por qué?
sqrt(-9+0i), #¿que resultado obtiene?
Secuencias
1 : 30 = c( 1, 2, ..., 29, 30) #¿son equivalentes?
#Tiene la mayor prioridad en una expresión
1: n – 1 o 1 : ( n - 1 )
#Explique estos resultados
seq ( 2,15)
seq(2,15,3)
#Explique estos resultados
rep(5,8)
rep(“NO”,8)
#Explique este resultado
x<-1:10;x
x>5
# ¿Qué resultados obtuvo?
#¿que clase de datos se generaron?

Actividad de aprendizaje propuesta


Genere un vector v1 de elementos que identifique el genero de una clase de Estadística de
16 mujeres y 15 hombres.
Atributos

Los vectores deben tener todos los valores del mismo tipo.
(numéricos, complejos, lógicos o caracteres),la misma longitud.
mode(objeto) o class(objeto)
length(objeto)

Investigar
La función as, puede cambiar el modo de un objeto
Por ejemplo sea x el objeto o vector (Carlos,Juan,Maria,
Susy) cambie a valores numericos (1,2,3,4)
as.numeric( x )
¿Qué obtuvo?
PROHIBIDO OLVIDAR
Aplique en las actividades de
aprendizaje propuestas
Actividad de aprendizaje
Con el vector n genere las operaciones que se le solicita:
#n son promedios de la segunda prueba parcial de 6
estudiantes del cuarto nivel de la escuela FIMA-ESPOCH.
n<- c(9.5, 8.7, 6.2, 7.5, 6, 10)#En R el punto es separador
decimal
Promedio
Desviación estandard
longitud del vector
Vector ordenado de mayor a menor
¿Qué clase de vector(objeto) es n? ¿class o mode es igual?
¿Qué clase de objetos son: a <- 1:10; b>5; raíz cuadrada de -
-100; h <- rep(“M”,10)
Genere 10 veces M y 6 veces F
MAS DE R
Lista, es un objeto que consiste de una colección ordenada de objetos conocidos
como componentes.
Por ejemplo:
Lista <- list(esposo=“Jorge”, esposa=“Miriam”, No.de.hijos=3, edad.hijas=c(19,17,13)).

¿Qué diferencias nota entre lista y vector?

Matrices
Las matrices o arreglos multidimensionales, son vectores con un vector de dimensión
NO NULO
> V <- runif(100)
> dim(V) <- c(10, 10, 1)
> V#Matriz de 10 filas y 10 columnas
#¿Qué dimension tiene V?
m <- matrix(2,3,4);m;#¿cómo es la matriz m?
x <- 1:10
m1 <- matrix(x,2,10);m1
#¿cómo se formo la matriz m1?
Resp. Con los elementos del vector x se forma la matriz m1 de 2 filas y 10 columnas
> m3 <- array(1: 20, dim = c(4, 5));m3
#¿cómo es la matriz m3?
> m4 <- array(c(1:3, 3:1), dim= c(3, 2));m4
#¿cómo es la matriz m4?

Data.frame
#Ahora introducimos un data.frame(matriz de datos)

Actividad de aprendizaje propuesta


 Definir los vectores de una familia de 5 miembros: numero,miembro,
nombre, edad, peso, estatura, género; miembro es lugar que ocupa
en la familia. Generar una matriz de datos denominada familia.
familia <- data.frame(numero,miembro, nombre, edad, peso, estatura,
género)
¿que obtuvo?
 Generar una matriz de 5 filas y 4 columnas con los valores del 1,…,20
 Genere una matriz cuadrada de orden 4 compuesta enteramente de
ceros
 Realizar los ejercicios del capítulo II del libro -Estadística con R y
Rcommander.
Data frames (Hoja o matriz de datos)
Observaciones:
 Un Data frame puede interpretarse, en muchos sentidos como matrices cuyas
columnas pueden tener diferentes modos y atributos.
 Para construir un data frame utilizamos la función data.frame
 La manera más sencilla de construir un data frame (una hoja de datos) es
utilizando la función read.table() para leerla desde un archivo del sistema
operativo.
 La función attach() conecta la hoja de datos (sus componentes)
 La función detach() desconecta la hoja de datos (sus componentes).
 Existe también una función más genérica, scan() para lectura de data frame
 Si tenemos tablas de datos en EXCEL ¿como importo a R?.
Grabar el archivo de EXCEL en cvs
Cont. Notas para importar datos a R
1. Verificar en que directorio estamos trabajando getwd() (la función
getwd() averigua el directorio actual ).
2. Si el archivo de datos esta en un directorio diferente al que
estamos trabajando actualmente entonces pasarse al que se esta
trabajando con la función setwd(…).
3. Crear la hoja de datos con la función read.csv().
Ejemplo. Tengo una base de datos en EXCEL llamada SILVANA que
se localiza en la computadora de mi oficina (de la ESPOCH)en disco
D,en la carpeta PROYECTO CON R y esta se encuentra bajo algunas
carpetas como se indica a continuación:
>getwd()
“C:/users/jcongacha/Documents”
 setwd(“D:/INVESTIGACION ESTADISTICA/PROYECTO CON R”)
 getwd() ¿Qué sucedió?. Explique.
Cont. Actividad de aprendizaje de
importación de una base de datos EXCEL a R
Quiero leer la información de la base de datos del archivo
SILVANA que se localiza en la carpeta PROYECTO CON R de
la computadora de mi oficina

>datos <- read.csv(file=“D:/INVESTIGACION ESTADISTICA/


PROYECTO CON R/SILVANA.csv”,header = TRUE, sep = “;”,
dec = “,”).
> str(datos) #Para ver la estructura de los datos, R trabaja
con punto(.) como separador de decimales

Actividad de aprendizaje propuesta. Crear una matriz de datos


en EXCEL con los miembros de su familia con las siguientes variables: numero, nombre,
miembro(papá, mamá, hijo(a)), edad(en años), peso(kg.), estatura(cm) y genero(masculino y
femenino).
Operaciones con matrices
INVESTIGAR
solve : X -1 t : Xt inversa de la matriz X
outer(%o%) el producto de dos vectores xxt
kronecker(%x%)
crossprod, tcrossprod: Atx, Axt
eigen
%*% multiplicacion*
ACTIVIDADES DE APRENDIZAJE

Generar un vector del 1 al 100


Convertirlo a una matriz de 10 * 10
Obtener la suma de los elementos que se encuentran en la
columna 5
Obtener su matriz transpuesta
Multiplicar la transpuesta de la matriz, por la matriz original
Genere dos matrices A y B cuadradas de orden 3 y realice
las siguientes operaciones: A+B, B-A, A3 ; calcule las inversas
y sus traspuestas.
continuaremos
PERSEVERANCIA
PASION
PACIENCIA

Potrebbero piacerti anche