菜鸟学飞记分享 http://blog.sciencenet.cn/u/yjjh143 每只菜鸟,都有鹰的梦想!

博文

ggplot绘图的艺术-1:数据准备

已有 3895 次阅读 2017-11-29 00:47 |个人分类:R 学习笔记|系统分类:科研笔记| R语言, 学习笔记, ggplot2

在使用ggplot2进行绘图之前,我们需要先把数据整理成规范的格式。在R语言入门中我们了解到,ggplot2只支持tidy格式的数据,因此我们需要先转换数据格式。

1.设置工作目录

  1. # 使用setwd命令设置工作目录

  2. setwd("H:/GeneK/ggplot")

  3. # 使用getwd命令查看工作目录是否设置成功

  4. getwd()

注意:在Windows上设置工作路径时,记得要把从Windows资源管理器中复制过来的路径中的符号 \ 改成 / ,否则Rstudio无法识别,会报错。如:
我从Windows中直接复制过来的地址是:H:\GeneK\ggplot,必须修改成H:/GeneK/ggplotRstudio才能识别。

2.读取数据

使用R的read.table读取相关数据:

  1. # 读取基因表达信息

  2. gene_exp <- read.table(file ="gene_exp.txt",

  3.                       sep ="\t",

  4.                       header = T,

  5.                       stringsAsFactors = F)

  6. # 读取基因长度注释信息

  7. gene_len <- read.table(file ="gene_len.txt",

  8.                       sep ="\t",

  9.                       header = T,

  10.                       stringsAsFactors = F)

  11. # 读取样品分组信息

  12. group<- read.table(file ="group.txt",

  13.                       sep ="\t",

  14.                       header = T,

  15.                       stringsAsFactors = F)

读取结果如下:

1.基因表达信息

基因表达信息

2.基因长度注释信息

基因长度注释信息

3.样品分组信息

样品分组信息

3.数据变形

(1)将数据转换成Tidy data格式

由基因的表达信息表格我们可以看到,该表格不符合tidy data的原则,需要使用Tidyr包对数据格式进行调整。

  1. # 加载Tidyr包

  2. library(tidyr)

  3. #使用gather函数将数据整理为Tidy格式

  4. dexp1 <- gather(gene_exp,

  5.               key =Sample,

  6.               value =Expression,

  7.               -Gene)

(2)添加基因注释和样品分组信息

  1. #加载dplyr包

  2. library(dplyr)

  3. #使用left_jion添加基因长度注释信息

  4. dexp2 <- left_join(dexp1, gene_len,by="Gene")

  5. #使用left_jion添加样品分组信息

  6. dexp3 <- left_join(dexp2,group,by="Sample")

  7. #使表格的列按Gene,Sample,Group,Expression,Length的顺序排列

  8. dexp4 <-select(dexp3,Gene,Sample,Group,Expression,Length)

  9. #使表格按照基因名升序排列

  10. dexp <- arrange(dexp4,Gene)

最终的呈现结果:

当然,我们还可以使用管道操作符,把上面的各步操作连接起来,一步完成转换:

  1. dexp <- gather(gene_exp,

  2.                key =Sample,

  3.                value =Expression,

  4.                -Gene)%>%

  5.  left_join(gene_len,by="Gene")%>%

  6.  left_join(group,by="Sample")%>%

  7.  select(Gene,Sample,Group,Expression,Length)%>%

  8.  arrange(Gene)

注:本文是我在基因课网络课程《ggplot:绘图的艺术》的学习笔记,使用Markdown写作。




https://blog.sciencenet.cn/blog-505988-1087350.html

上一篇:R语言入门6:数据处理之单表操作-Dplyr
下一篇:Shell基础-1:Shell概述
收藏 IP: 114.253.126.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-28 16:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部