首页
学习
活动
专区
圈层
工具
发布

根据不同条件使用不同实现类的业务代码设计

场景 此时有一个场景,需要设计一个根据不同的状态和条件采用不同的业务处理方式。 这样大家可能不是太理解。...AliPayServiceImpl implements PayService {} 但是仔细思考后,还是存在一些问题 如果增加一个支付方式后还需要修改,PayWay这个枚举类型 在程序中,仍需要根据不同的条件做...先思考一下这个if else的作用是什么? 答:根据思路①描述,这个if else是用来确定采用哪种支付方式。...我们可以将这块代码抽离出来,让对应的业务实现类实现自己的逻辑实现,然后根据返回值true 或者false决定是否过滤掉这个业务实现类。...isSupport方法对SupportBean中的supportNum进行取余,判断余数是否等于0,是则返回true。 类似的实现还有两个,这里就不贴出来了。

3.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DESeq2差异表达分析(二)

    RNA-SEQ分析的一个有用的初始步骤是评估样本之间的总体相似性: 哪些样本彼此相似,哪些不同? 这是否符合实验设计的预期? 数据集中的主要变异来源是什么?...然后,我们可以使用 plotPCA() 函数绘制前两个主成分。...我们看到PC1上的样本与我们感兴趣的条件之间有很好的分离,这很好;这表明我们感兴趣的条件是数据集中最大的变异源。...,并执行几种不同的可视化技术来探索我们的结果: 所有基因的结果表 显著基因结果表(padj<0.05) top20最显著的基因归一化表达散点图 所有显著基因的热图 结果的火山图 所有基因的结果表 首先,...sc_DE_volcano.png 采用有效的脚本对多个不同细胞类型群集进行分析,可使用用于成对比较的Wald检验或用于多组比较的似然比检验 。

    7K52

    「R」绘制分组排序点图

    我在看过的一些 Nature 文章和 COSMIC 数据库中看到用点图来展示不同癌症类型下 TMB 的分布差异。...还可以根据自己的需求调整背景面板的颜色: show_group_distribution(data, gvar = "gr", dvar = "yval", background_color =...难度有以下几点,感兴趣的读者不妨带着这些问题阅读源代码: 怎么对点排序,构建绘图坐标? 怎么对不同的 panel 展示不同的背景颜色?theme() 中的选项都不支持向量化,所以必须另辟蹊径。...我最后使用了 geom_rect(),我是怎么保证矩形画出来的填充跟背景效果一致的? 怎么保证图中的红线比例在不同的 panel 中一致? 怎么保证数据量只有 1-2 个这种情况也能画出图形?...::mutate(.order = dplyr::row_number()) %>% dplyr::group_by(.data$.gvar) %>% dplyr::arrange(.data

    2K30

    不知道细胞亚群的生物学功能?clusterProfiler来帮你

    ) top10 % group_by(cluster) %>% top_n(10, avg_log2FC) DoHeatmap(sce,top10$gene,size...=3) ggsave(filename=paste0(pro,'_sce.markers_heatmap.pdf')) library(dplyr) top3 %...group_by(cluster) %>% top_n(3, avg_log2FC) DoHeatmap(sce,top3$gene,size=3) ggsave(paste0(pro,'DoHeatmap_check_top3...如果你还不知道clusterProfiler的compareCluster函数,赶快去看clusterProfiler4.0啦,它同步支持最新版GO和KEGG数据,支持数千物种的功能分析,应对不同来源的基因功能注释...新版本尤其实现多组数据间自由比较,如不同条件、处理等,并内置系列流行辅助工具,如数据处理包dplyr、可视化包ggplot2等,方便分析人员用熟悉的方式自由探索,实现数据高效解读。

    86920

    数据处理|R-dplyr

    2)数据记录筛选(行筛选) filter函数:按指定条件筛选符合条件中逻辑判断要求的数据记录。...Min ;Max Mean ;Median ;Var ;Sd等 summarise(iris, max(Petal.Width), first(Sepal.Width)) #返回数据框中变量的最大值及第一四分位值...Q:按品种分组,分别计算花萼宽度的均方差 summarise(group_by(iris,Species),sd=sd(Petal.Width)) 8)连接操作符 dplyr包里还新引进了一个操作符,%...>%, 使用时把数据集名作为开头, 然后依次对此数据进行多步操作。...(x,y,by = NULL) #内连接,合并数据仅保留匹配的记录 by设置两个数据集用于匹配的字段名,默认使用全部同名字段进行匹配,如果两个数据集需要匹配的字段名不同,可以直接用等号指定匹配的字段名

    2.6K10

    monocle3轨迹分析

    .Reduce dimensions and Cluster cells 降维、聚类、分群、分partition 这里使用UMAP作为降维算法,再使用轨迹分区算法,把所有细胞分为两个partitio,不同分区的细胞会进行单独的轨迹分析...空间共表达效应,1代表此基因在空间距离相近的细胞中表达值高度相似。根据莫兰指数挑选前10个基因用于可视化。...degs <- dea_res$gene_short_name top_genes % dplyr::top_n(n = 10, morans_I) %>%...dplyr::pull(gene_short_name) %>% as.character() plot_genes_in_pseudotime(cds[top_genes, ], color_cells_by...of co-regulated genes 寻找共表达基因模块,根据上边的差异分析结果,按照UMAP和Louvain 聚类,将这些基因分在不同的模块中,有些模块在某些细胞中特异高表达。

    96900

    R 数据整理(七:使用tidyr和dplyr处理数据框 2.0)

    这些变量应该是真正的属性,而不是同一属性在不同年、月等时间的值分别放到单独的列。...,后续的参数是条件,这些条件是需要同时满足的,另外,条件中取 缺失值的观测自动放弃,这一点与直接在数据框的行下标中用逻辑下标有所不同,逻辑下标中有缺失值会在结果中 产生缺失值。...dplyr 包的 distinct() 函数可以对数据框指定若干变 量,然后筛选出所有不同值,每组不同值仅保留一行。...R 数据整理(六:根据分类新增列的种种方法 1.0) 其他函数 slice dplyr 包的函数 slice(.data, ...) 可以用来选择指定序号的行子集,正的序号表示保留,负的序号表示排除。...group_by 按照某列对数据框进行分组,非常适合联合summarize 使用,获取指定组别不同类型内容的统计数值。

    12.7K30

    2023.4生信马拉松day7-R语言综合应用

    require(tidyr)) install.packages('tidyr') #根据一个包是否library成功来决定要不要安装这个包 练习7-1 图片 # 1.读取group.csv,从第二列中提取圈出来的信息...-(4)no:逻辑值为FALSE时的返回值 -(5)支持单个的逻辑值,也支持多个逻辑值组成的向量 -(6)相当于对向量的每个元素逐个进行判断,然后对判断结果F/T进行逐个替换; i = 1 ifelse...,"-") x = rnorm(3) x ifelse(x>0,"+","-") 4. ifelse()+str_detect()【王炸】 str_detect()可以检测样本中是不是含有某个字符,然后返回逻辑值...:不符合大于零的条件,就再进行一步判断; 练习7-2 # 1.加载deg.Rdata,根据a、b两列的值,按照以下条件生成向量x: #a的值为down; #a>1 且b...,但顺序不同;对比之后发现我的是按排序前原本的先后顺序列出的(因为要一个一个检查是否是最大/最小的前十个);如果先arrange一下再%in%就可以跟老师的顺序一样了。

    4.4K80

    monocle3轨迹分析

    )3.Reduce dimensions and Cluster cells降维、聚类、分群、分partition这里使用UMAP作为降维算法,再使用轨迹分区算法,把所有细胞分为两个partitio,不同分区的细胞会进行单独的轨迹分析...=6)ps("UMAP_partition.pdf")图片图片4.Order cells in pseudotime along a trajectory手动选择root需要根据自己的生物学背景知识##...空间共表达效应,1代表此基因在空间距离相近的细胞中表达值高度相似。根据莫兰指数挑选前10个基因用于可视化。...degs % dplyr::top_n(n = 10, morans_I) %>% dplyr...genes寻找共表达基因模块,根据上边的差异分析结果,按照UMAP和Louvain 聚类,将这些基因分在不同的模块中,有些模块在某些细胞中特异高表达。

    2K30

    R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

    R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同的。...2、按条件行筛选 从前用subset的方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.table与dplyr from_dplyr =...用filter,content满足某种条件的进行筛选,而data.table的筛选方式很传统,比较简单。...(gender,buy_online)] #data.table用一步 dplyr:先用group_by设置分组,然后利用summarize求平均,mean=mean(); data.table...DT数据集按照x分组,然后计算v变量的和、最小值、最大值。 (2)dplyr函数利用%>%(链式操作)来改进: 链式操作是啥意思呢?

    10.9K43
    领券