R语言怎么实现数据合并和统计
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,本文小编为大家详细介绍"R语言怎么实现数据合并和统计",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言怎么实现数据合并和统计"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2025年02月22日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","5 24,]), 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安全错误
数据库的锁怎样保障安全
软件开发公司任务管理制度
重庆网络软件开发定制招商加盟
电脑安装ftp服务器
军事网络安全宣传标语
网络安全是安全生产的内容吗
软件开发到底要多少钱
万国觉醒十大服务器
网络技术开发市场报价
海康服务器怎么做
软件开发每天做什么
jbdc数据库链接
疫情期间网络安全使用
屏幕共享软件开发流程
软件开发前10的高校
数据库更新表格数据代码
计算机三级数据库如何给分
网络安全手抄报涂色
计算机三级网络技术视频课
崇明区网络技术厂家批发价
注册会计师 服务器
c获取html数据库连接
海河工匠网络安全
迹迹网络技术
不用使用无线网络技术的应用
东城dell服务器回收报价
北京定制软件开发公司
网络安全法面面观
我的世界服务器多人生存国际服
互联网科技公司创业项目
文本数据库