GEO的芯片数据处理可能要用到这些这边放到第六个专题详细写一下
先生成一个随机的矩阵
set.seed(10086) # 为了我的结果能在你的电脑重复,设置了种子
exp = matrix(rnorm(18),ncol = 6) ;exp # 通过18个随机数,生成3行6列的矩阵
## [,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
rownames(exp) = paste0('gene',1:3) # 改下行名
colnames(exp) = paste0('test',1:6) # 改下列名
exp = round(exp,2) # 保留x位小数
exp
## 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
# 因为是随机生成的,所以改一下也没问题,真实数据不能动哈
exp[,1:3] = exp[,1:3] + 1
exp
## 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包
library(tidyr)
library(tibble)
library(dplyr)
现在开始处理数据,将其转化为一个R语言看得懂的数据框
顺便复习下之前讲过的管道符号
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
## # 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包,这边就不过多描述了
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 删除。