数据框进阶

2021-10-12  本文已影响0人  小胡同学ime
数据框的两种显示形式
  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. 两个表格的连接

    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)]

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

上一篇下一篇

猜你喜欢

热点阅读