function

  1. a <- function(i){
  2. plot(iris[,i])
  3. }
  4. png('a.png')
  5. par(mfrow=c(2,2))
  6. a(1)#a(1:4)出16张图
  7. a(2)
  8. a(3)
  9. a(4)
  10. dev.off()

base plot

  1. png('b.png')
  2. par(mfrow=c(2,2))
  3. for (i in 1:4) {
  4. plot(iris[,i])#基础绘图包不能赋值
  5. }
  6. dev.off()

ggplot

acknowledgement: https://www.yuque.com/xiaojiewanglezenmofenshen/dbwkg1/ppc6vo

  1. m <- matrix(rnorm(60),nrow = 10,ncol = 6)
  2. colnames(m) <- paste0('sample',1:6)
  3. rownames(m) <- paste0('gene',1:10)
  4. m <- as.data.frame(t(m))
  5. m$group <- rep(c('groupa','groupb'),each=3)
  6. p=list()
  7. for (i in 1:(ncol(m)-1)) {#ncol(m)-1需要()
  8. p[[i]]=ggplot(m,aes_string(x='group',y=colnames(m)[i]))+
  9. geom_boxplot(aes(color=group))#aes(fill=group)
  10. }
  11. pp <- wrap_plots(p,nrow = 2)
  12. 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)