• R学习-7.Matrices and Data Frames


    Matrices and Data Frames

    Matrices and Data Frames 用于储存表格类型的数据。其中Matrices存储的数据只能包含一种类型,而Data Frames可以包含多种数据类型。

    一个vector可以转换成matrix,通过函数dim()设置其维度。

    > v <- 1: 20
    > dim(v) <- c(4, 5)
    > v
         [,1] [,2] [,3] [,4] [,5]
    [1,]    1    5    9   13   17
    [2,]    2    6   10   14   18
    [3,]    3    7   11   15   19
    [4,]    4    8   12   16   20
    > dim(v)
    [1] 4 5
    > class(v) # 通过函数确认v已经成为了matrix
    [1] "matrix"
    

    通过函数matrix()能更直接的生成一个matrix,通过?matrix可以获取到更多关于函数的相关信息。

    比如生成一个4行5列的matrix

    > my_matrix <- matrix(1:20, nrow = 4, ncol = 5)
    > my_matrix
         [,1] [,2] [,3] [,4] [,5]
    [1,]    1    5    9   13   17
    [2,]    2    6   10   14   18
    [3,]    3    7   11   15   19
    [4,]    4    8   12   16   20
    > identical(v, my_matrix) # 函数identical告诉我们它们是一样的
    [1] TRUE
    

    若Matrix数据中存在字符串,将导致所有数据都变成了字符串了。函数cbind()表示'combine columns',以列的方向进行合并。

    > patients <- c("Bill", "Gina", "Kelly", "Sean")
    > cbind(patients, my_matrix)
         patients                       
    [1,] "Bill"   "1" "5" "9"  "13" "17"
    [2,] "Gina"   "2" "6" "10" "14" "18"
    [3,] "Kelly"  "3" "7" "11" "15" "19"
    [4,] "Sean"   "4" "8" "12" "16" "20"
    

    matrix只支持一种数据类型,所以为保持一致,数字都变成了以双引号引起的字符串了。但这显然不是想要的。data frame 支持多种数据类型。可以用它来储存数据。

    > my_data <- data.frame(patients, my_matrix)
    > my_data
      patients X1 X2 X3 X4 X5
    1     Bill  1  5  9 13 17
    2     Gina  2  6 10 14 18
    3    Kelly  3  7 11 15 19
    4     Sean  4  8 12 16 20
    > class(my_data)
    [1] "data.frame"
    

    通过函数colnames()可以给data frame添加列名

    cnames <- c("patient", "age", "weight", "bp", "rating","test")
    > colnames(my_data) <- cnames
    > my_data
      patient age weight bp rating test
    1    Bill   1      5  9     13   17
    2    Gina   2      6 10     14   18
    3   Kelly   3      7 11     15   19
    4    Sean   4      8 12     16   20
    

    data frame 的索引可以通过行名和列名,也可以通过数字索引值。

    > my_data["p2", "age"]
    [1] 2
    > my_data[2, 2]
    [1] 2
    

    上一节:R学习-6.Subsetting Vectors

    下一节:R学习-8.Logic

  • 相关阅读:
    第一阶段冲刺第七天
    第一次冲刺第六天
    第十一周学习进度条
    第一阶段冲刺第五天
    《我们应该怎样做需求分析》阅读笔记
    个人总结
    第二阶段个人总结十
    第二阶段个人总结九
    第二阶段个人总结八
    第二阶段个人总结七
  • 原文地址:https://www.cnblogs.com/huanping/p/13174309.html
Copyright © 2020-2023  润新知