亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言怎么實現數據合并和統計

發布時間:2022-03-19 09:15:37 來源:億速云 閱讀:602 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“R語言怎么實現數據合并和統計”,內容詳細,步驟清晰,細節處理妥當,希望這篇“R語言怎么實現數據合并和統計”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1.我的數據介紹:

我這做了 一個對照和處理各取了四個時期的樣品進行轉錄組分析,每個樣品3個生物學重復,共24個樣品基因表達量數據;


stage1stage2stage3stage4


controlDAF2 DAF5DAF11DAF16


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)
group
apply(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.05<FPKM<=5"
  y[x>5 & x<100]<-"5<FPKM<100"
  y[x>=100]<-"FPKM>=100"
  y
  table(y)
}
myCountFPKM=apply(meanFpkm,2,myCountFun)
myCountFPKM
mycountLongData<-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<FPKM<100","0.05<FPKM<=5"),ordered = T)), 
                         stat = "identity" ,width=0.5)+
  scale_fill_manual(values=c( "#E41A1C", "#377EB8", "#4DAF4A"))+
  #                         theme_bw()+ theme(
  #                          panel.grid=element_blank(),
  #                          axis.text.x=element_text(colour="black"),axis.text.y=element_text(colour="black"),
  #                          panel.border=element_rect(colour = "black"))+
  # scale_colour_brewer(palette = 1)+
   theme(legend.key = element_blank(),legend.title = element_blank()
         #axis.text.x = element_text(angle=70, vjust=0.5)
         )+  xlab("daf")+ylab("count") 
  
p





pca = prcomp(t(myfpkm[rowSums(myfpkm)>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())

p1
plot_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語言怎么實現數據合并和統計”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特右旗| 喜德县| 新郑市| 敦化市| 福泉市| 岑巩县| 睢宁县| 西林县| 九龙坡区| 拉萨市| 治多县| 侯马市| 永济市| 民丰县| 台北市| 陆川县| 南昌市| 苏尼特左旗| 巴马| 施甸县| 华坪县| 松阳县| 澎湖县| 临夏县| 滁州市| 新竹市| 运城市| 罗定市| 邢台市| 当涂县| 庄浪县| 泊头市| 新乐市| 青冈县| 思南县| 荣成市| 柯坪县| 富蕴县| 于田县| 武乡县| 浮梁县|