代码之家  ›  专栏  ›  技术社区  ›  Leosar

只给矩阵R指定一个名称

  •  1
  • Leosar  · 技术社区  · 4 年前

    我想为一个矩阵指定一个名称,而不是像R那样为矩阵的每个组件指定一个名称,例如:

    a <- matrix(1:10, nrow=5)
    names(a)
    
    NULL
    
    names(a) <- "this is a"
    a
    
         [,1] [,2]
    [1,]    1    6
    [2,]    2    7
    [3,]    3    8
    [4,]    4    9
    [5,]    5   10
    attr(,"names")
     [1] "this is a" NA          NA          NA          NA          NA          NA          NA          NA          NA   
    

    我很乐意 names(a) 只有“这是一个”的结果。

    1 回复  |  直到 4 年前
        1
  •  1
  •   akrun    4 年前

    A matrix 是一个 vector dim 属性。为了一个 ,的 names 是每个元素的名称。所以,用 对于单个元素,结果是用 NA

    attr(a, "name") <- "this is a"
    a
    #     [,1] [,2]
    #[1,]    1    6
    #[2,]    2    7
    #[3,]    3    8
    #[4,]    4    9
    #[5,]    5   10
    #attr(,"name")
    #[1] "this is a"
    

    注意:使用不同的值可能比 姓名


    attributes(a)$name
    #[1] "this is a"
    
    attr(a, "name")
    #[1] "this is a"