400 likes | 594 Views
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. Manejo de paquetes en R. Mirrors.
E N D
Introducción al lenguaje RSesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014
Ayuda en R - Kurtosis ? na.rm
Manejo de paquetes en R Mirrors Install.packages(“tree”) library(tree) Memoria RAM Volátil Memoria ROM Almacenamiento
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/
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
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
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 > 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 > matriz1
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[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 x + 2y + 3z = 24 4x + 5y + 6z = 32 7x + 8y - 9z = 41
¿preguntas? Gracias! berono@hotmail.com http://nbecerrastatistics.wordpress.com/