• [读书笔记] R语言实战 (二) 创建数据集


    R中的数据结构:标量,向量,数组,数据框,列表

    1. 向量:储存数值型,字符型,或者逻辑型数据的一维数组,用c()创建

    **  R中没有标量,标量以单元素向量的形式出现

    2. 矩阵:二维数组,和向量一样只能是相同模式, 可用matrix() 创建

    #byrow指定是否按行填充,默认是按列填充,dimnames包含可选的字符向量型列名和行名
    mymatrix <- matrix(vector, nrow = number_of_rows, ncol =         
                                  number_of_columns, byrow = TRUE/FALSE, dimnames = 
                                  list(char_vector_rownames, char_vector_colnames)
    

    3. 数组:和矩阵类似,维度可以大于2,通过array()函数创建

    4. 数据框:不同的列可以包含不同的模式, data.frame()创建

    #创建向量
    a <- c(1,2,7,4,10,6)
    a[c(1,3,5)]
    #创建矩阵,按列填充
    y <- matrix(1:20,nrow=5,ncol=4)
    y
    #按行填充
    y <- matrix(1:20,nrow=5,ncol=4,byrow = TRUE)
    y
    #添加行名,列名
    cells <- c(1,26,24,68)
    rnames <- c("R1","R2")
    cnames <- c("C1","C2")
    mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))
    mymatrix
    
    #创建数组
    dim1 <- c("A1","A2")
    dim2 <- c("B1","B2","B3")
    dim3 <- c("C1","C2","C3","C4")
    z <- array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
    z
    #创建数据框
    patientID <- c(1,2,3,4)
    age <-c(25,34,28,52)
    diabetes <- c("Type1","Type2","Type2","Type1")
    patientData <- data.frame(patientID,age,diabetes)
    patientData
    

    5. attach(), detach(), with()

    attach()可以将数据框添加到R的搜索路径当中

    detach() 将数据框从搜索路径删除

    6. 列表:一些对象(或成分,component)的有序集合,某个列表可能是若干向量、矩阵、数据框、甚至其他列表的组合。可以用list()创建列表

    列表是R中重要的数据结构:1)允许以一种简单的方式组织和重新调用不相干的信息,2)R中许多运行结果都是以列表的形式返回。

     7. 数据输入

    1) 键盘输入 edit() 函数

    2) 从带分隔符的文本文件导入数据 read.table()

    3) 导入EXCEL数据read.xlsx()

    4) 其他

    8. 处理对象实用函数

    #创建向量
    a1 <- c(1,4,6,8,5)
    a2 <- c(5,8,6,4,1)
    length(a1)
    #创建3*4矩阵按行填充
    mat1 = matrix(1:12,nrow=3,ncol=4,byrow=TRUE,dimnames = list(c('r1','r2','r3'),c('c1','c2','c3','c4')))
    #显示矩阵维度
    dim(mat1)
    #显示对象结构
    str(mat1)
    #显示对象中各个成分的名称
    names(mat1)<-c('stupid','smart')
    names(mat1)
    #按列合并对象
    cbind(a1,a2)
    #按行合并对象
    rbind(a1,a2)
    #显示当前对象列表
    ls()
    #列出对象开始部分
    head(mat1)
    #列出对象结束部分
    tail(a1)
    

      

  • 相关阅读:
    安装插件 YouCompleteMe 成功却无法自动补全C++的解决办法
    Ubuntu 16.04 使用 vim_plug 安装插件 YouCompleteMe 报错“ycmd server SHUT DOWN”
    POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路
    POJ #3259 Wormholes 判负环 SPFA
    POJ #1860 Currency Exchange 最短路径算法 Bellman-ford SPFA 判断负环
    spfa 算法模板 可求带负权边的最短路 判断负环
    POJ #1042 Gone Fishing 贪心
    路人甲
    Perface
    1. Perface
  • 原文地址:https://www.cnblogs.com/vincentcheng/p/7874630.html
Copyright © 2020-2023  润新知