美文网首页
数据框进阶

数据框进阶

作者: 小胡同学ime | 来源:发表于2021-10-12 08:38 被阅读0次
    数据框的两种显示形式
    1. 在environment里面直接点名字,查看预览视图,相当于View(df)
    2. 控制台显示形式(纯文本)
    数据框进阶
    1. 行数较多的数据框可以截取前/后几行查看
    head(iris)  #默认截取前6行
    tail(iris)     #默认截取后6行
    head(iris, 3)  #截取第3行
    
    1. 行列数都多的数据框可取前几行前几列查看
      不经过赋值,只是输出、查看,赋值后才会发生转变
    iris[1:3, 1:3]  #看iris数据前三行,前三列
    
    1. 查看每一列的数据类型和具体内容
      str()
    > str(df)
    'data.frame':   3 obs. of  4 variables:   #这是一个名df的数据框,3行4列
     $ gene: chr  "gene1" "gene2" "gene3"   #   $-列名:数据类型-前几个数据
     $ sam : chr  "sample1" "sample2" "sample3"
     $ exp : num  12 23 50
     $ abc : num  23 15 37
    
    基础学习默认不要转成因子,避免因子带来的麻烦
    options(stringsAsFactors = F)
    
    

    4. 去除含有缺失值的行
    片甲不留

    na.omit(df)
    
    image.png

    *仅按照某一列来去除缺失值、缺失值替换:tidyr包

    5. 两个表格的连接

    • 按列连接:cbind 行数必须相同

    • 按行连接:rbind 列数相同

    • 智能连接:merge(test1,test2,by=“name”) 需共同列名(“name”)

      列名不同时,用merge如何处理

        merge(test1, test3, by.x = "name", by.y = "NAME")
    
    ***6\. 如果列名顺序错乱,如何按照指定顺序重排?***
    [数据框列的顺序错乱,如何重排](https://www.jianshu.com/p/09a22a1cdcd1)
    

    交集、并集、补集、全集等,参考dplyr包

    矩阵的新建和取子集

    m <- matrix(1:9, nrow = 3)。#只需要确定行or列其中一个元素即可排列
    
    

    矩阵不支持 $

    矩阵的转置和转换
    t(m)      #横纵向变化
    as.data.frame(m)    #转换为数据框
    
    
    矩阵可视化(画热图)
    pheatmap::pheatmap(m)   #默认聚类
    pheatmap::pheatmap(m, cluster_cols = F, cluster_rows = F)   #不要聚类
    
    
    列表新建和取子集
    i <- list(m = matrix(1:9, nrow = 3),
              df = data.frame(gene = paste0("gene",1:3), sam = paste0("sam", 4:6)),
              x = c(1,3,5))
    i$m
    i$df
    i$x
    i[[2]]
    #m、df、x都是赋予给元素的名字
    
    image.png
    删除变量
    rm(l)          #删除l这个变量
    rm(df,m)    #删除df,m等多个变量
    rm(list = ls())   #删除全部变量
    *list = ls()  #列举列表中所有的变量
    
    清空控制台

    ctrl + l

    元素的名字 - names()

    元素 可命名,用函数names(),
    可以根据名字提取子集,
    向量、数据框、列表通用。命名并不影响数据的类型

    image.png
    match 有大用处 !!
    colnames(y) = x$ID[match(colnames(y), x$file_name)]
    

    不管相同数据一个是行名,一个是列明,只要相同都能匹配

    相关文章

      网友评论

          本文标题:数据框进阶

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