R语言——excel多个sheet批量读取导出、剔除离群值以及作箱型图

 

#批量读取Excel表
install.packages("tidyverse")
library(tidyverse)
#install.packages("xlsx")
install.packages("readxl")
#library(xlsx)
library(readxl)
#a <- read_excel("genexpress.xlsx")
list1 <- list()
for (i in 8:36){
  list1[i-7] <- list(read_excel("genexpress.xlsx", sheet = i, range = cell_cols("A:B")))
}

#批量去除空值
for (i in 1:29){
  list1[[i]] <- na.omit(list1[[i]])
}

#批量去除极端值
x = {}
for (i in 1:27){
  x[i] = colnames(list1[[i]])[2]
}

for (i in 1:27){
  colnames(list1[[i]])[2] = "geneexpression"
}
##Q1-1.5*IQR
list2 <- list()
for (i in 1:27){
  list2[[i]] <- 
    list1[[i]] %>%
    group_by(list1[[i]][1]) %>%
    filter((geneexpression> quantile(geneexpression)[2] - 1.5 * IQR(geneexpression)) &
             (geneexpression < quantile(geneexpression)[4] + 1.5 * IQR(geneexpression))) %>%
    ungroup()
}

## 作图,箱型图
library(gridExtra)
library(agricolae)
library(ggplot2)
p_list <- list()

for(i in 1:6) {
  p_list[[i]] <- ggplot(list2[[i]], aes(x = !!sym(y[i]), y = geneexpression , fill = !!sym(y[i]))) +
    geom_boxplot() +
    # guides(fill = guide_legend(title = "generation"))+
    #geom_col(show.legend = T, alpha = 0.5) +
    scale_fill_brewer(palette = "Set2") +
    #scale_fill_manual(values = c("black", "brown", "pink",“black”), )+
    #coord_flip() + # 交换横纵坐标
    #abs(x ="Value", y ="Frequency") +
    #ggtitle(as.character(var))+
    scale_x_discrete(limits = c("L", "P")) +   # 选择L,P
    theme(axis.text.x = element_blank())       # 去除坐标轴
}
#p_list[[1]]
grid.arrange(grobs = p_list, ncol = 3,grob_wrap = FALSE)

### list2输出到excel
install.packages("openxlsx")
library(openxlsx)
listnames = list()
n = length(list2)
names(list2) = paste0(x[1:n])
write.xlsx(list2, "筛选.xlsx")

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值