在做项目的过程中,一般会有一些重复使用的代码,这个时候,就会想把他包装成函数。每次套用的时候,只需要改变输入就可获得相应的结果。
Repeatplot<-function(inputfile,titl){
data<-read.table(inputfile)
dataset<-as.data.frame(table(data$V9,data$V4))
colnames(dataset)<-c("RepeatElement","ChromState","Sum")
dataset$ChromState<-factor(dataset$ChromState,levels = c("1_TssA","2_TssAFlnk","3_TxFlnk","4_Tx","5_TxWk","6_EnhG",
"7_Enh","8_ZNF/Rpts","9_Het","11_BivFlnk","10_TssBiv",
"12_EnhBiv","13_ReprPC","14_ReprPCWk","15_Quies"))
library(ggplot2)
library(RColorBrewer)
colors<-brewer.pal(name="Paired",12)
q1<-ggplot(data=dataset,mapping=aes(x=ChromState,y=Sum,fill=RepeatElement))+
geom_bar(stat="identity",position="dodge")+
labs(title=titl)+
scale_fill_manual(values = colors)+
theme(plot.title=element_text(hjust=0.5))+
labs( y = '')
return(q1)
}
q<-Repeatplot("E081_15_coreMarks_hg38lift_mnemonics.output.txt","Roadmap E081 Fetal Brain Male")
q<-Repeatplot("result_E082.txt","Roadmap E082 Fetal Brain Female")
效果图如上。