Should I use a data.frame or a matrix?

前端 未结 6 1583
我在风中等你
我在风中等你 2020-11-28 00:59

When should one use a data.frame, and when is it better to use a matrix?

Both keep data in a rectangular format, so sometimes it\'s unclear

6条回答
  •  清歌不尽
    2020-11-28 01:24

    Matrices and data frames are rectangular 2D arrays and can be heterogeneous by rows and columns. They share some methods and properties, but not all.

    Examples:

    M <- list(3.14,TRUE,5L,c(2,3,5),"dog",1i)  # a list
    dim(M) <- c(2,3)                           # set dimensions
    print(M)                                   # print result
    
    #      [,1]  [,2]      [,3]
    # [1,] 3.14  5         "dog"
    # [2,] TRUE  Numeric,3 0+1i
    
    DF <- data.frame(M)                   # a data frame
    print(DF)                             # print result
    
    #      X1      X2   X3
    #  1 3.14       5  dog
    #  2 TRUE 2, 3, 5 0+1i
    
    M <- matrix(c(1,1,1,1,2,3,1,3,6),3)   # a numeric matrix
    DF <- data.frame(M)                   # a all numeric data frame
    
    solve(M)                              # obtains inverse matrix
    solve(DF)                             # obtains inverse matrix
    det(M)                                # obtains determinant
    det(DF)                               # error
    

提交回复
热议问题