Archivo por meses: julio 2013

Matrices en R-project (Programación)

Para Usuarios R Nicaragua. Búscanos en Facebook y conviertete en parte de esta comunidad de grupo R.

Practiquemos un poco de matrice en R utilizando las clases de O’reilly, marca registrada.

Hagamos una matrix de 3 filas por 4 columnas, compuestas de ceros.

>matrix(0, 3, 4)

.       [,1] [,2] [,3] [,4]
[1,]     0     0      0     0
[2,]     0     0      0     0
[3,]     0     0      0     0
.La matrix anterior esta conformada con 12 elementos. Vamos pues a llenarla con 12 números. manera sencilla podemos aplicar a forma de ejemplo, la secuencia del 1 al 12.

>a <- 1:12

.Para mostrar el valor de “a” escribimos.

>print(a)

La salidad será:

[1] 1 2 3 4 5 6 7 8 9 10 11 12

.Introduzcamos “a” a la matriz.

 >matrix(a, 3, 4)


.         [,1] [,2] [,3] [,4]
[1,]      1       4     7   10
[2,]      2       5     8    11
[3,]      3       6     9    12
.Debemos destacar que los elementos empiezan a ordenarse de arriba hacia abajo.
Podemos crear una matriz con la función dim.

Por ejemplo, crear el vector, para este caso solo tomaremos “a”.
>dim(a) <- c(3, 4)

.Simplemente colocamos las dimenciones. Como resultado quedará la matriz:

.       [,1] [,2] [,3] [,4]
[1,]      1     4     7    10
[2,]     2     5     8     11
[3,]     3     6     9     12

.”a” ya será una matriz.

.Podemos extraer la el elemento de la tercera fila y segunda columna de esta manera.

.Cambiar el 6 por 4.
a[3, 2] <- 4

.Extraer una fila, por ejemplo, la fila 2.
a[2,]
[1] 2, 5, 8, 11

.Extraer una columna, por ejemplo, la fila 4.
a[,4]
[1] 10, 11, 12

.Extraer múltiples filas y múltiples columnas.
a[, 2:4]
.        [,1] [,2] [,3]
[1,]     4     7    10
[2,]     5     8     11

.Graficar una matriz es sencillo. Podemos utilizar la función contour.
elevacion <- matrix(1, 10, 10)
elevacion[4, 6] <- 0
contour(elevacion)

. En 3D.
>persp(elevacion)

.Una mejor vista


 

>persp(elevaion, expand=0.2)

Hazte miembro de nuestro grupo en facebook o en google plus. Usuarios R Nicaragua.

Lic. Deybi Morales León

morales.economia@gmail.com