美文网首页
生信技能树-数据挖掘week1 2/4

生信技能树-数据挖掘week1 2/4

作者: Caster_xiao | 来源:发表于2021-01-09 11:55 被阅读0次

    感谢生信技能树小洁老师

    数据框、矩阵、列表

    向量(vector)

    一维,数据类型是相同的。长度相同,数据类型相同的向量可以组成矩阵

    cbind(x1,x2,x3) #x1,x2,x3必须是长度相同,数据类型相同的向量
    

    矩阵(matrix)

    二维,长度相同,数据类型相同的向量


    一个matrix

    数据框(data.frame)

    长度相同,数据类型可以不同


    一个data.frame

    列表(list)

    长度可有不同,数据类型可以不同,没有行和列的概念,可以有多级元素


    一个list

    数据框扩展

    新建或读取数据框

    df <- data.frame(gene  = paste0("gene",1:3),
                     sam   = paste0("sample",1:3),
                     exp   = c(32,34,45))
    
    df2 <- read.csv("gene.csv")
    

    数据框属性描述

    dim(df) #有多少行、多少列
    nrow(df)
    ncol(df)
    rownames(df)
    colnames(df)
    
    #(1)行数较多的数据框可截取前/后几行查看
    iris
    head(iris) #默认取前6行
    head(iris,3)
    tail(iris)
    #(2)行列数都多的数据框可取前几行前几列查看
    iris[1:3,1:3]
    #(3) 查看每一列的数据类型和具体内容
    str(df)
    str(iris)
    

    数据框取子集

    #4.数据框取子集
    df[2,2]
    df[2,]
    df[,"gene"]
    df[,c('gene','exp')]
    df$exp #exp为列名
    

    数据框修改

    关键理解行名和列名也是一个向量

    #只修改某一行的名
    rownames(df)[2]="x"
    

    Merge

    merge函数可以连接两个表格

    tmp  =merge(test1,test2,by="name")#test1和test2中都有name列,并且该列有相同的元素
    merge(test1,test3,by.x = "name",by.y = "NAME")#test1中的name列和test2中的NAME列相同
    

    列表

    列表取子集

    l <- list(m=matrix(1:9, nrow = 3),
             df=data.frame(gene  = paste0("gene",1:3),
                           sam   = paste0("sample",1:3),
                           exp   = c(32,34,45)),
             x=c(1,3,5))
    l
    
    l[[2]]
    l$df
    

    给元素起名字

    #补充:元素的名字
    #(1)向量
    x=1:10
    names(x)=letters[1:10] #仅仅是起名字,x的元素不会变
    > x
     a  b  c  d  e  f  g  h  i  j 
     1  2  3  4  5  6  7  8  9 10 
    > x["a"]
    a 
    1 
    

    Tips

    na.omit(df) #删除数据框中含NA的行,该行所有数据均被删除!
    
    #删除一个
    rm(l)
    #删除多个
    rm(df,m)
    #删除全部
    rm(list = ls()) 
    
    m
    t(m)#矩阵转置
    as.data.frame(m)
    
    
    转换和倒置

    相关文章

      网友评论

          本文标题:生信技能树-数据挖掘week1 2/4

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