美文网首页
R的数组和列表基本操作:创建与访问

R的数组和列表基本操作:创建与访问

作者: MC学公卫 | 来源:发表于2019-03-21 16:21 被阅读0次

    数组

    创建数组array()

    array(向量名,维度说明,dimnames = list(维名称列表))

    > a = c(1:60)
    > dim1 = c("R1","R2","R3","R4") #分别给3个维度命名
    > dim2 = c("C1","C2","C3","C4","C5")
    > dim3 = c("T1","T2","T3")
    > a = array(a,c(4,5,3),dimnames = list(dim1,dim2,dim3))
    > a
    , , T1
    
       C1 C2 C3 C4 C5
    R1  1  5  9 13 17
    R2  2  6 10 14 18
    R3  3  7 11 15 19
    R4  4  8 12 16 20
    
    , , T2
    
       C1 C2 C3 C4 C5
    R1 21 25 29 33 37
    R2 22 26 30 34 38
    R3 23 27 31 35 39
    R4 24 28 32 36 40
    
    , , T3
    
       C1 C2 C3 C4 C5
    R1 41 45 49 53 57
    R2 42 46 50 54 58
    R3 43 47 51 55 59
    R4 44 48 52 56 60
    

    列表

    创建列表list()

    创建列表的函数是list,基本书写格式是:
    list(成分1=对象名1, 成分名2=对象名2,……)
    可以通过names函数显示各个成分名

    a = c(1,2,3) #向量
    b = matrix(nrow=5,ncol=2) #矩阵
    b[,1] = seq(1,10,2)
    b[,2] = seq(10,1,-2)
    c = array(1:60,c(4,5,3)) #数组
    d = list(L1=a, L2=b, L3=c) #列表
    
    names(d) #显示列表d各个成分名
    [1] "L1" "L2" "L3"
    str(d)
    List of 3
    $ L1: num [1:3] 1 2 3
    $ L2: num [1:5, 1:2] 1 3 5 7 9 10 8 6 4 2
    $ L3: int [1:4, 1:5, 1:3] 1 2 3 4 5 6 7 8 9 10 ...
    is.list(d)
    [1] TRUE
    

    列表在数据组织的时候不常用,但它却是R组织各类数据分析结果的重要方式。

    访问列表

    $符号或双括号[[]],与数据框完全相同。

    > d$L1
    [1] 1 2 3
    > d[["L2"]]
         [,1] [,2]
    [1,]    1   10
    [2,]    3    8
    [3,]    5    6
    [4,]    7    4
    [5,]    9    2
    > d[[2]]
         [,1] [,2]
    [1,]    1   10
    [2,]    3    8
    [3,]    5    6
    [4,]    7    4
    [5,]    9    2
    

    本文参考:《R语言数据挖掘》第2版 薛薇 编著

    相关文章

      网友评论

          本文标题:R的数组和列表基本操作:创建与访问

          本文链接:https://www.haomeiwen.com/subject/ihmrmqtx.html