千家信息网

R语言怎么实现数据合并和统计

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文小编为大家详细介绍"R语言怎么实现数据合并和统计",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言怎么实现数据合并和统计"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2026年11月01日R语言怎么实现数据合并和统计

本文小编为大家详细介绍"R语言怎么实现数据合并和统计",内容详细,步骤清晰,细节处理妥当,希望这篇"R语言怎么实现数据合并和统计"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.我的数据介绍:

我这做了 一个对照和处理各取了四个时期的样品进行转录组分析,每个样品3个生物学重复,共24个样品基因表达量数据;


stage1stage2stage3stage4


controlDAF2DAF5DAF11DAF16


caseGDAF2
GDAF5GDAF11GDAF16


以上是输入数据,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安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 中国互联网科技股 互联网科技垄断 苏州互联网科技贷款公司 科技创新互联网企业 互联网科技小额贷款 互联网高科技股票 多迪互联网科技有限公司 丰台科技园 互联网公司 汽车互联网创新科技园 互联网公司黑科技创始人 工业互联网展湾科技股份有限公司 互联网科技圈年度人物 伍佰万互联网科技怎么赚钱 国产互联网科技公司 绵阳真晨互联网科技有限公司 数字科技和互联网金融哪个好 上海旺乐尼互联网科技有限公司 互联网高科技绘画 科技美学互联网 艺术 疫情对互联网科技公司影响 一五八零互联网科技 深圳卡尔迅互联网科技有限公司怎么样 银川新华互联网科技职业技术培训学校图片 互联网数据科技专业 中和天地互联网科技有限公司 科技互联网海报 互联网与数字科技关系 上海互联网科技园景观 每日互联网科技新闻
0