3 Dimensiones de la Matriz de Nombres en R

En las 3 Dimensiones de la matriz de abajo :

ar <- array(someData, c(5, 5, 5));  
rownames(ar) <- ...;  #to set up row names
colnames(ar) <- ...;  #to set up col names

¿Cómo puedo ajustar la tercera dimensión nombres ?

array tiene un dimnames argumento, si se mira en la documentación. También, hay una más general dimnames() función.

OriginalEl autor RiskTech | 2014-08-13

2 respuestas

  1. 25

    Puede establecer la dimnames argumento cuando la definición de la matriz:

    ar <- array(data     = 1:27,
                dim      = c(3, 3, 3),
                dimnames = list(c("a", "b", "c"),
                                c("d", "e", "f"),
                                c("g", "h", "i")))

    y/o puede establecer el dimnames de la tercera dimensión como:

    dimnames(ar)[[3]] <- c("G", "H", "I")

    OriginalEl autor Dan

  2. 1

    Todavía partida en R pero me encontré con esta manera que puede ser útil para la gran matriz multidimensional.

    Lugar de asignar a cada uno de los índices (‘a’,’b’,’c’,’d’,….), usted puede utilizar provideDimnames() la función automática de generar el índice de nombres siguiendo el patrón que usted elija.

    La creación de datos

    ar <- array (data = 1:(4*3*2) , dim=c(4,3,2))
    > ar
    , , 1
    [,1] [,2] [,3]
    [1,]    1    5    9
    [2,]    2    6   10
    [3,]    3    7   11
    [4,]    4    8   12
    , , 2
    [,1] [,2] [,3]
    [1,]   13   17   21
    [2,]   14   18   22
    [3,]   15   19   23
    [4,]   16   20   24

    Etiquetado dimensiones

    ar <- provideDimnames(ar , sep = "_", base = list('row','col','lev'))

    Y obtener

    > ar
    , , lev
    col col_1 col_2
    row     1     5     9
    row_1   2     6    10
    row_2   3     7    11
    row_3   4     8    12
    , , lev_1
    col col_1 col_2
    row    13    17    21
    row_1  14    18    22
    row_2  15    19    23
    row_3  16    20    24

    OriginalEl autor Papalagui

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *