Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Matrices en R

Matrices en R

Ratings: (0)|Views: 1,020 |Likes:
Published by Deybi Morales León
ste documento enseña a trabajar con matrices en el lenguaje del software estadístico R. También enseña como resolver una regresión lineal con matrices. Elaborado para Usuarios R Nicaragua
ste documento enseña a trabajar con matrices en el lenguaje del software estadístico R. También enseña como resolver una regresión lineal con matrices. Elaborado para Usuarios R Nicaragua

More info:

Published by: Deybi Morales León on Sep 16, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/16/2012

pdf

text

original

 
Chapter 1
Matrices en R
Deybi A. Morales León
Nota: Este documento es presentado para ser revisado por la comunidad de Usuarios R Nicaragua. Errores u omisiones, comentarios y sugerencias escribir al grupo https://www.facebook.com/groups/usuariosrnicaragua/o morales.economia@gmail.com .
Se le considera a R como un software con las misma potencialidadesmatriciales que matlab. Además de su fácil programación las posi- bilidades con matrices son ilimitadas. Esto pone al alcanze de to-do economista aplicado una herramienta menos pesada y progra-mación menos rígida que la de matlab para el tratamiento de matri-ces. Veamos pues algunas posibilidadades matriciales de R.
1.1 Construyendo matrices
Las funciones necesarias para construir matrices se encuentran enel paquete “Matrix”.
Podemos convertir vectores en matrices.
>X<-matrix(data, nrow, ncol, byrow)
. La sintaxis empieza con el nombre de la matriz, luego la funciónpara generar la matriz, seguido de abrir paréntesis, el nombre del vector creado, sigue el número de filas, número de columnas y cómoempezarán las observaciones por filas o por columnas. Para Darle elorden de cómo agrupar por fila agregamos byrow=TRUE, para que seagrupen en columnas byrow=FALSE.Miremos el ejemplo:
>seq1 <- seq(1:6)
1
 
2 Deybi A. Morales León
>matrix1<-matrix(seq1,3,2, byrow=TRUE)> matrix1[,1] [,2][1,] 1 2[2,] 3 4[3,] 5 6>
Se notará que se empiezan a grupar las las observaciones de fila en fila. Pero ecuando aplicamos byrow=FALSE, estas se agruparánen columnas.
> seq1<-seq(1:6)> seq1[1] 1 2 3 4 5 6> matrix1<-matrix(seq1,3,2,byrow=FALSE)> matrix1[,1] [,2][1,] 1 4[2,] 2 5[3,] 3 6>
Es simpática la forma en que se presenta un matriz en R. Si quer-emos identificar la columna dos solo debemos guiarnos por el en-cabezado, en el anterior caso [,2].Cada que veamos una matrix debemos recordar que se conforma de [filas, columnas]. nrow=número de filas y ncol=número de colum-nas.para conocer las dimenciones de una matriz creada utilizamos la función dim:
> dim(matrix1)[1] 3 2>
Imaginémosnos en el caso de unir dos matrices con matrices o conun vector, entonce utilizaremos la función cbind:
> v1<-c(1,1,2)> matrix2<-cbind(matrix1,v1)> matrix2v1[1,] 1 4 1[2,] 2 5 1[3,] 3 6 2
La función cbind convierte data.frame en matrices.
 
1 Matrices en R 3
> A<-as.matrix(tasasinflacion[,2:12])> AX2000 X2001 X2002 X2003 X2004 X2005 X2006 X2007 X2008 X2009 X2010[1,] NA NA NA 2.60 3.10 3.70 4.20 2.30 6.40 -1.10 0.90[2,] 10.25 10.96 9.68 9.87 13.13 14.07 9.43 10.81 13.90 4.05 5.82[3,] 4.30 1.40 2.80 2.50 5.40 4.30 4.90 4.90 5.50 -0.20 NA[4,] 5.08 8.91 6.33 5.85 9.23 8.57 5.79 8.75 9.40 -0.28 4.51[5,] 0.10 0.09 0.08 0.08 0.07 0.08 0.07 0.09 0.10 3.00 NA[6,] 9.87 4.84 3.87 6.48 9.26 9.58 9.45 16.88 13.77 0.93 NA[7,] 14.00 14.30 15.50 0.10 0.50 3.40 6.00 10.40 20.00 22.90 25.60>
En la tabla anterior tenemos la tasa anual de inflación por paísescentromericanos. A través de la función cbind la hemos convertido a la matriz A.Si tuvieramos la tasa de inflación para el año 2002 en Belice, soloaplicamos según la ubicación del elemento para cambiar la obser- vación. Por ejemplo supongamos que fue de dos puntos:
> A[1,3]=2> AX2000 X2001 X2002 X2003 X2004 X2005 X2006 X2007 X2008 X2009 X2010[1,] NA NA 2.00 2.60 3.10 3.70 4.20 2.30 6.40 -1.10 0.90[2,] 10.25 10.96 9.68 9.87 13.13 14.07 9.43 10.81 13.90 4.05 5.82[3,] 4.30 1.40 2.80 2.50 5.40 4.30 4.90 4.90 5.50 -0.20 NA[4,] 5.08 8.91 6.33 5.85 9.23 8.57 5.79 8.75 9.40 -0.28 4.51[5,] 0.10 0.09 0.08 0.08 0.07 0.08 0.07 0.09 0.10 3.00 NA[6,] 9.87 4.84 3.87 6.48 9.26 9.58 9.45 16.88 13.77 0.93 NA[7,] 14.00 14.30 15.50 0.10 0.50 3.40 6.00 10.40 20.00 22.90 25.60>
Para eliminar el los encabezados o nombres de columnas
> dimnames(A)<-list(NULL,NULL)> A[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11][1,] NA NA 2.00 2.60 3.10 3.70 4.20 2.30 6.40 -1.10 0.90[2,] 10.25 10.96 9.68 9.87 13.13 14.07 9.43 10.81 13.90 4.05 5.82[3,] 4.30 1.40 2.80 2.50 5.40 4.30 4.90 4.90 5.50 -0.20 NA[4,] 5.08 8.91 6.33 5.85 9.23 8.57 5.79 8.75 9.40 -0.28 4.51[5,] 0.10 0.09 0.08 0.08 0.07 0.08 0.07 0.09 0.10 3.00 NA[6,] 9.87 4.84 3.87 6.48 9.26 9.58 9.45 16.88 13.77 0.93 NA[7,] 14.00 14.30 15.50 0.10 0.50 3.40 6.00 10.40 20.00 22.90 25.60>
Si queremos extraer un elemento de la matriz solo damos la ubi-cación del elemento. Supongamos que queremos la tasa de inflación

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->