Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014
Ayuda en R - Kurtosis
Ayuda en R - Kurtosis
Ayuda en R - Kurtosis
Ayuda en R - Kurtosis
Ayuda en R - Kurtosis ? na.rm
Mirrors Manejo de paquetes en R Install.packages(“tree”) library(tree) Memoria RAM Volátil Memoria ROM Almacenamiento
Operaciones básicas en R
¿preguntas?
Sesión 2 Contenido Instalación de RStudio Tipos de objetos en R Operaciones con vectores y matrices Manipulación de matrices y vectores
Problemas con R Problemas con el ambiente original de R ¿Cómo revisar el workspace? > ls( ) ¿Cómo visualizar la historia de los comandos? > history( ) ¿Cómo saber que paquetes tengo instalados o cargados en memoria? > installed.packages( ) > sessionInfo( ) ¿Cómo ver el contenido de la carpeta de R? > dir( ) Rstudio es un IDE para R que permite un manejo más cómodo de los elementos del ambiente R!
Sesión 2 Contenido Instalación de RStudio Tipos de objetos en R Operaciones con vectores y matrices Manipulación de matrices y vectores
Instalación RStudio http://www.rstudio.com/
Instalación RStudio
Instalación RStudio
Instalar RStudio Doble click en el archivo que se bajó Dar “siguiente” unas pocas veces Usar la configuración por “default” Finalizar la instalación
¿preguntas?
Pantalla de RStudio
Sesión 2 Contenido Instalación de RStudio Tipos de objetos en R Operaciones con vectores y matrices Manipulación de matrices y vectores
Tipos de objetos en R Vectores - variables con uno o más valores del mismo tipo (lógico, numérico o de cadena (alfanumérico) Abrir un nuevo script en RStudio >vec1=c(1,3,4,6,8,10,12,16) > vec1 [1] 1 3 4 6 8 10 12 16 R permite también el manejo de vectores de cadena o carácter > cadena1="a b c d e f g" R también utiliza vectores lógicos > lógico=c(TRUE, TRUE, FALSE, FALSE, TRUE) Ejercicio. 1.Definir 3 vectores numéricos (vec2, vec3, vec4) 2. Sumar y restar dos vectores
Tipos de objetos en R Los objetos tienes dos propiedades que resultan muy útiles: mode(x) y length(x) La multiplicación normal de vectores no obtiene el producto interno, sino el producto elemento a elemento. La función sum(x*y) sí da el producto interno de un vector Ejercicios 1. Aplicar la función mode y length a los vectores que se definieron en el ejercicio anterior 2. Multiplicar 2 vectores 3. Obtener el producto interno de esos mismos vectores Al multiplicar dos vectores de diferente dimensión, el vector más corto se “recicla”. Ejemplo: > a1=c(2,3,5,7,9,12,15,20) > b1=c(1,2) > a1*b1
Vectores Las funciones cbind(x,y) y rbind(x,y) unen los vectores x e y por columnas o por renglones respectivamente > x1=c(1,2,3); y1=c(4,5,6) > cbind(x1,y1) x1 y1 [1,] 1 4 [2,] 2 5 [3,] 3 6 > rbind(x1,y1) [,1] [,2] [,3] x1 1 2 3 y1 4 5 6
dataframes Ejercicios 1.Construir 3 vectores numéricos y unirlos por renglón 2. Esos mismos 3 vectores unirlos ahora por columna
Operaciones con vectores en R
Ejercicio 1. Construir un vector y calcular las varias operaciones en esos datos 2. Con el siguiente vector calcular algunas operaciones de vectores > vectorx=c(1:12, NA, NA, NA,16:20) > vectorx
Sesión 2 Contenido Instalación de RStudio Tipos de objetos en R Operaciones con vectores y matrices Manipulación de matrices y vectores
Matrices Una matriz es un arreglo de números, existen diversas maneras de construir una matriz además de rbind( ) y cbind( ). Por “default” las matrices en R se llenan por columna > matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3) > matrix(1:8, ncol = 2) > matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), ncol = 9) > vector10=c(1:9) > matrix(vector10, nrow = 3) En caso de que el vector que está llenando la matriz no tenga suficientes elementos, se recicla el vector > vector1=c(1:8) > matrix(vector1, nrow=3)
Operaciones con Matrices > matriz1=matrix(1:9, nrow=3); > matriz2=matrix(10:18, nrow=3) Sumar un escalar a una matriz > matriz1 > matriz1 + 2 Producto de un escalar por una matriz > matriz2 > matriz2 * 3 Suma de dos matrices (deben ser conformes con la suma! > matriz1 + matriz2
Operaciones con matrices Ejercicio. Dadas las siguientes matrices: 4 -1 0 3 8 3 A = 6 9 , B = 3 -2 y C = 6 1 hallar: A + B b) C - A 3*B d) 4*B + 2*C
Operaciones con Matrices La multiplicación de matrices de álgebra lineal es: > matriz1 %*% matriz2 PERO NO > matriz1 * matriz2 Que da el producto elemento a elemento! Necesario que las matrices sean conformes con el producto para la multiplicación de álgebra lineal!! El determinante de una matriz > det (x) La transpuesta de una matriz > t (matriz1) La inversa de una matriz > solve (matriz1)
Operaciones con Matrices El comando solve() permite obtener la inversa de una matriz dada u obtener el vector solución de un sistema de ecuaciones lineales si los argumentos son la matriz de coeficientes y el vector de las y solve(A,b) # donde A es la matriz de coeficientes y b es el vector de las y Ejercicio. Hallar el vector solución de los siguientes sistemas de ecuaciones lineales 2x + 3y + z = 12 x + y - z = 4 3x - y + 2z= 6 x + 2y – z = 32 2x + y + z = 16 -4x – 2y + z = 12
Operaciones con Matrices > diag(x) # x es un vector > diag(A) # A es una matriz > diag(k) # k es una constante > y=eigen(A) # calcula los valores y vectores propios de la matriz 2 > y$val # da los valores propios de A > y$vec # obtiene los vectores propios de A
Ejercicios Hallar los valores y vectores propios de la siguientes matrices 1 2 -2 2 1 2 -4 -2 2 2 3 1 -2 -1 4 1 1 -1
Sesión 2 Contenido Instalación de RStudio Tipos de objetos en R Operaciones con vectores y matrices Manipulación de matrices y vectores
Manipulación de matrices R permite manipular la matrices de manera sencilla con el indexador [ ] > matriz1 [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 Los números entre corchetes indican la columna y el renglón y sirven para modificar la matrices o extraer elementos de ella > matriz1[1, 3] # muestra el elemento del renglón 1 columna 3 > matriz1[ 2, ] # muestra el renglón 2 > matriz1[,-2] # elimina la columna 2 > matriz1[1, 1] = 15 # asigna el valor 15 en el renglón 1 columna1
Manipulación de matrices > matriz1[ ,2:3 ] = 2 # asigna 2 a las columnas 2 y 3 > matriz1 > matriz1[ ,2:3 ] = 4:9 # asigna la secuencia 1 a 9 en las columnas 2 y 3 > matriz1[matriz1 > 5] # muestra los valores mayores que 5 en la matriz > matriz1 > 5 # operador lógico que muestra qué valores son mayores a 5 > matriz1[matriz1 >= 8] = 3 # asigna 3 a los valores que son mayores a 8
Tarea 1.Calcular la matriz inversa y los valores y vectores propios de las siguientes matrices -2 2 1 2 1 2 2 -2 -4 1 3 2 -4 -1 2 -1 1 1
Tarea Resolver los siguiente sistemas de ecuaciones lineales. En primera instancia sin utilizar la función solve( ) y después usando este comando para verificar las operaciones realizadas x + 2y + 3z = 24 4x + 5y + 6z = 32 7x + 8y + 9z = 41 7x + 8y - 9z = 41
¿preguntas? Gracias! berono@hotmail.com http://nbecerrastatistics.wordpress.com/