前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言专题6-表达矩阵画箱线图

R语言专题6-表达矩阵画箱线图

原创
作者头像
生信汪一昂
发布2023-09-23 10:12:05
2310
发布2023-09-23 10:12:05
举报
文章被收录于专栏:生信学习之路

专题6-表达矩阵画箱线图

GEO的芯片数据处理可能要用到这些这边放到第六个专题详细写一下

先生成一个随机的矩阵

代码语言:text
复制
set.seed(10086) # 为了我的结果能在你的电脑重复,设置了种子
exp = matrix(rnorm(18),ncol = 6) ;exp # 通过18个随机数,生成3行6列的矩阵
代码语言:txt
复制
##            [,1]       [,2]      [,3]       [,4]       [,5]       [,6]
## [1,]  0.5497892  0.4854790 0.8048611 -0.3689388 -1.8219731 -1.6187002
## [2,] -2.7449592 -0.6263183 1.0810640  2.1055543 -0.2182194  1.4216431
## [3,]  0.5664575  0.2547939 0.3234522  2.4910328  0.5845722 -0.8081741
代码语言:text
复制
rownames(exp) = paste0('gene',1:3) # 改下行名
colnames(exp) = paste0('test',1:6) # 改下列名
exp = round(exp,2) # 保留x位小数
exp
代码语言:txt
复制
##       test1 test2 test3 test4 test5 test6
## gene1  0.55  0.49  0.80 -0.37 -1.82 -1.62
## gene2 -2.74 -0.63  1.08  2.11 -0.22  1.42
## gene3  0.57  0.25  0.32  2.49  0.58 -0.81
代码语言:text
复制
# 因为是随机生成的,所以改一下也没问题,真实数据不能动哈
exp[,1:3] = exp[,1:3] + 1 
exp
代码语言:txt
复制
##       test1 test2 test3 test4 test5 test6
## gene1  1.55  1.49  1.80 -0.37 -1.82 -1.62
## gene2 -1.74  0.37  2.08  2.11 -0.22  1.42
## gene3  1.57  1.25  1.32  2.49  0.58 -0.81

运行几个R包

代码语言:text
复制
library(tidyr)
library(tibble)
library(dplyr)

现在开始处理数据,将其转化为一个R语言看得懂的数据框

顺便复习下之前讲过的管道符号

代码语言:text
复制
dat = t(exp) %>% # 转置
  as.data.frame() %>% # 转换为数据框
  rownames_to_column() %>% # 行名转换为列名
  mutate(group = rep(c("control","treat"),each = 3)) #新增一列group
pdat = dat %>%
  pivot_longer(cols = 2:4, # 提取关键信息所在列(这边是‘gene’)
               names_to = 'gene', # 起名为gene
               values_to = 'count') # 原来gene 1、2、3的值新建一列
 pdat
代码语言:txt
复制
## # A tibble: 18 × 4
##    rowname group   gene  count
##    <chr>   <chr>   <chr> <dbl>
##  1 test1   control gene1  1.55
##  2 test1   control gene2 -1.74
##  3 test1   control gene3  1.57
##  4 test2   control gene1  1.49
##  5 test2   control gene2  0.37
##  6 test2   control gene3  1.25
##  7 test3   control gene1  1.8 
##  8 test3   control gene2  2.08
##  9 test3   control gene3  1.32
## 10 test4   treat   gene1 -0.37
## 11 test4   treat   gene2  2.11
## 12 test4   treat   gene3  2.49
## 13 test5   treat   gene1 -1.82
## 14 test5   treat   gene2 -0.22
## 15 test5   treat   gene3  0.58
## 16 test6   treat   gene1 -1.62
## 17 test6   treat   gene2  1.42
## 18 test6   treat   gene3 -0.81

处理完数据就可以开始画图了

R语言作图ggplot2的应用中详细介绍过这个R包,这边就不过多描述了

代码语言:text
复制
library(ggplot2)
p = ggplot(data = pdat,mapping = aes(x = gene,y = count))+
  geom_boxplot(mapping = aes(fill = group))+
  theme_bw()+
  facet_wrap(~gene,scales = "free")
p

引用自生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 专题6-表达矩阵画箱线图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档