function
a <- function(i){plot(iris[,i])}png('a.png')par(mfrow=c(2,2))a(1)#a(1:4)出16张图a(2)a(3)a(4)dev.off()
base plot
png('b.png')par(mfrow=c(2,2))for (i in 1:4) {plot(iris[,i])#基础绘图包不能赋值}dev.off()
ggplot
acknowledgement: https://www.yuque.com/xiaojiewanglezenmofenshen/dbwkg1/ppc6vo
m <- matrix(rnorm(60),nrow = 10,ncol = 6)colnames(m) <- paste0('sample',1:6)rownames(m) <- paste0('gene',1:10)m <- as.data.frame(t(m))m$group <- rep(c('groupa','groupb'),each=3)p=list()for (i in 1:(ncol(m)-1)) {#ncol(m)-1需要()p[[i]]=ggplot(m,aes_string(x='group',y=colnames(m)[i]))+geom_boxplot(aes(color=group))#aes(fill=group)}pp <- wrap_plots(p,nrow = 2)pp
优秀的管道符号用起来
m <- matrix(rnorm(60),nrow = 10,ncol = 6)
colnames(m) <- paste0('sample',1:6)
rownames(m) <- paste0('gene',1:10)
library(dplyr)
m <- m %>% t() %>%
as.data.frame() %>%
mutate(group=rep(c('a','b'),each=3))
字符串应用于文件名管理
library(stringr)
file.rename(dir(),str_replace(dir(),' ',''))
apply+function
a <- str_extract_all(stage,'I|B|A',simplify = TRUE)
function0 <- function(x){
str_c(x,collapse = '')
}
apply(a, 1, function0)
a <- str_extract_all(stage,'I|B|A')
b=lapply(a, function0)
do.call(rbind,b)
