R语言怎么实现数据合并和统计
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本文小编为大家详细介绍"R语言怎么实现数据合并和统计",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言怎么实现数据合并和统计"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2025年11月08日R语言怎么实现数据合并和统计
本文小编为大家详细介绍"R语言怎么实现数据合并和统计",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言怎么实现数据合并和统计"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
1.我的数据介绍:
我这做了 一个对照和处理各取了四个时期的样品进行转录组分析,每个样品3个生物学重复,共24个样品基因表达量数据;
| stage1 | stage2 | stage3 | stage4 | ||||
| control | DAF2 | DAF5 | DAF11 | DAF16 | |||
| case | GDAF2 | GDAF5 | GDAF11 | GDAF16 |
以上是输入数据,CK代表DAF,T代表GDAF,样品24个有些多,所以换行,后续分析改了下名字;
2.我要完成的数据处理
1.统计每个样品中表达的转录本的个数,需要对生物学重复样品基因表达量进行合并(取平均值)
2.绘制柱状图,并给出每个样品不同范围基因表达量柱状图
3.绘制样品之间的PCA分布图,查看样品之间的相互关系,要求不同的处理用相图的形状区分,不同的stage用不同的颜色区分,相同的stage颜色相同;
4 绘制Venn图,看看不同的stage 基因的表达变化等;
3.以下是代码使用技巧总结:
1.注意因子的使用,有序因子可以指定柱状图样品的label顺序
2.cowplot指定绘图主题,可直接用于文章发表主题,SCI主题
3.PCA图两种图例合并,颜色和形状,方便查看分组和不同的时期
4.数据的合并处理用到apply tapply 非常的方便,避免使用循环
5 reshape2包的使用,melt把宽型的数据转换成了长型的数据方便ggplot2绘图。
library(reshape2)local({r <- getOption("repos") ;r["CRAN"] <- "http://mirrors.tuna.tsinghua.edu.cn/CRAN/" ;options(repos=r)}) library(ggplot2)library("ggsci")#install.packages('ggedit')library(ggedit)#install.packages("cowplot")library(cowplot)library(Vennerable)library(RColorBrewer)brewer.pal(7,"Set1")setwd("D:/BaiduNetdiskDownload//report/3.gene_expression")getwd()myfpkm<-read.table("All_gene_fpkm.xls",header=TRUE,comment.char="",sep = "\t",check.names=FALSE,row.names=1)head(myfpkm)group=factor(c(rep(c("DAF2", "DAF5", "DAF11", "DAF16"),each=3),rep(c("GDAF2", "GDAF5", "GDAF11", "GDAF16"),each=3)),levels = c("DAF2","DAF5","DAF11","DAF16","GDAF2","GDAF5","GDAF11","GDAF16"),ordered=T)groupapply(myfpkm,2,mean)myMeanFun<-function(x){ tapply(as.double(x),group,mean) }meanFpkm=t(apply(myfpkm,1,myMeanFun))#meanFpkm=meanFpkm[! grepl("newGene",rownames(meanFpkm)),]myCountFun<-function(x){ x=as.double(x) x=x[x>0.5] y=rep("A",times=length(x)) y[x>0.5 & x<=5]<-"0.055 & x<100]<-"5=100]<-"FPKM>=100" y table(y)}myCountFPKM=apply(meanFpkm,2,myCountFun)myCountFPKMmycountLongData<-melt(myCountFPKM)pd <- position_dodge(.65)p<-ggplot(mycountLongData)+ geom_bar(mapping = aes(x = factor(Var2,levels = c("DAF2","DAF5","DAF11","DAF16","GDAF2","GDAF5","GDAF11","GDAF16"),ordered=T), y = value, fill=factor(Var1,levels=c("FPKM>=100","524,]), scale=TRUE)summary(pca)p1=ggplot(as.data.frame(pca$x),aes(x=PC1,y=PC2,colour=group,shape=group))+geom_point(size = 4,alpha=0.7)+scale_colour_manual(values=c("#E41A1C", "#377EB8", "#4DAF4A" ,"#984EA3","#E41A1C", "#377EB8" ,"#4DAF4A", "#984EA3")) + scale_shape_manual(values=rep(c(17,19),each=4))+theme(legend.key = element_blank(),legend.title = element_blank())p1plot_grid(p, p1, labels = c("A", "B"), align = 'h')###################################################################################head(meanFpkm)meanFpkm=as.data.frame(meanFpkm)data_list=list(DAF2=geneNames[meanFpkm$DAF2>0.5],DAF5=geneNames[meanFpkm$DAF5>0.5],DAF11=geneNames[meanFpkm$DAF11>0.5],DAF16=geneNames[meanFpkm$DAF16>0.5])sapply(data_list,length)data<-Venn(data_list)v1=plot(data,doWeight=F,type="ellipses")data_list=list(GDAF2=geneNames[meanFpkm$GDAF2>0.5],GDAF5=geneNames[meanFpkm$GDAF5>0.5],GDAF11=geneNames[meanFpkm$GDAF11>0.5],GDAF16=geneNames[meanFpkm$GDAF16>0.5])data<-Venn(data_list)v2=plot(data,doWeight=F,type="ellipses") 读到这里,这篇"R语言怎么实现数据合并和统计"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
数据
样品
不同
处理
统计
基因
文章
语言
主题
颜色
柱状
相同
之间
代表
内容
因子
形状
时期
生物
生物学
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
不是引发网络安全因素
zabbix数据库结构
怀旧服有必要改服务器吗
北京好的软件开发口碑推荐
数据库中的检索操作
深圳仁智信网络技术
梦享网络技术有限公司李鹤
网络安全共创网络文明共享
人工智能与网络安全的构想
有什么手机招聘软件开发
东西湖软件开发多少钱
天津超频服务器欢迎选购
软件开发是需要数学好的吗
东营 云商网络技术支持
exrpg数据库
咸鱼之王找回服务器
什么是采用综合网络技术看
一键搭建云服务器脚本
软件开发专科学校排名
工行软件开发中心杭州薪水
网络安全的技术因素是哪4种
高性能计算在软件开发的应用
山东服务器回收公司地址
肇庆酒店软件开发电话
北京天马时空网络技术怎么样
湖南网络技术学院
互联网数据科技有限公司
网信吉林网络安全培训会
平安田东网络安全
校园网络安全教育手抄报