Cómo hacer malabares con las dimensiones y reemplazar los valores en una matriz de r

Video: Como Hacer Malabares con 3 Clabas - School Juggling Tv - CAP-4

Por defecto, R siempre trata de simplificar los objetos al menor número de dimensiones posibles cuando se utilizan los soportes para extraer los valores de una matriz. Por lo tanto, si se le pregunta por una sola columna o fila, R hará que un vector dejando caer una dimensión.

Al igual que con los vectores, se pueden combinar varios números de los índices. Si desea colocar la primera y tercera filas de la matriz, puede hacerlo de esta manera:

gt; first.matrix [-c (1, 3),] [1] 2 5 8 11

Espera un minuto. . . . Sólo hay un índice. R no devuelve una matriz de aquí - devuelve un vector!

Video: Como hacer numerología 55140 con nuestras 3 pelotas de Malabares

Puede forzar R para mantener todas las dimensiones utilizando el argumento extra soltar de la función de indexación. Para obtener la segunda fila devuelve como una matriz, hace lo siguiente:

gt; first.matrix [2,, la caída = FALSE] [, 1] [, 2] [, 3] [, 4] [1], 2 5 8 11

Esto parece como magia absoluta, pero no es tan difícil. Tiene tres posiciones ahora entre los soportes, todos separados por comas. La primera posición es el índice de la fila. La segunda posición es el índice de columna. ¿Pero entonces, qué?

En realidad, los corchetes funcionan como una función, y el índice de fila y columna de índice son argumentos a favor de los corchetes. Si ahora se añade un argumento extra soltar con el valor FALSO. Como lo hace con cualquier otra función, a separar los argumentos por comas. Poner todo esto junto, y usted tiene el código mostrado aquí.

Reemplazar los valores en una matriz se hace de una manera muy similar a la sustitución de los valores en un vector. Para reemplazar el valor de la segunda fila y la tercera columna de first.matrix con 4, se utiliza el siguiente código.

gt; first.matrix [3, 2] lt; - 4GT; first.matrix [, 1] [, 2] [, 3] [, 4] [1,] 1 4 7 10 [2], 2 5 8 11 [3], 3 4 9 12

También puede cambiar toda una fila o columna de valores no especificando la otra dimensión. Tenga en cuenta que los valores son reciclados, lo que para cambiar la segunda fila a la secuencia 1, 3, 1, 3, sólo tiene que hacer lo siguiente:

gt; first.matrix [2,] lt; - c (1,3) gt; first.matrix [, 1] [, 2] [, 3] [, 4] [1,] 1 4 7 10 [2], 1 3 1 3 [3,] 3 4 9 12

También puede sustituir un subconjunto de valores dentro de la matriz por otra matriz. Ni siquiera tiene que especificar los valores como una matriz - un vector va a hacer. Echar un vistazo al resultado de la siguiente código:

Video: School Juggling TV - Capitulo 1 Malabares 3 Pelotas

gt; first.matrix [1: 2, 3: 4] lt; - c (8,4,2,1) gt; first.matrix [, 1] [, 2] [, 3] [, 4] [1,] 1 4 8 2 [2], 1 3 4 1 [3,] 3 4 9 12

Aquí cambia los valores en las dos primeras filas y las dos últimas columnas a los números 8, 4, 2, y 1.

Video: Tutorial para principiantes en 3 pelotas

R lee y escribe matrices por columnas por defecto. Por lo tanto, si se pone un vector en una matriz o un subconjunto de una matriz, se puso en la columna a gota, independientemente del método. Si quieres hacer esto de modo de fila, primero hay que construir una matriz con los valores utilizando el argumento byrow = TRUE. A continuación, se utiliza esta matriz en lugar del vector original para insertar los valores.

Artículos Relacionados