首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏生物信息学_troubleshooting

    case_when function in dplyr package

    carHLH(+), Sample_Name = OR4, 就在其添加的carHLH列中的对应空格填写carHLH(-), SampleTag1 <- SampleTag1 %>%mutate(carHLH=case_when

    33730编辑于 2023-08-23
  • 来自专栏Python大数据分析

    pandas中新增的case_when()方法

    1 简介 大家好我是费老师,pandas在前不久更新的2.2版本中,针对Series对象新增了case_when()方法,用于实现类似SQL中经典的CASE WHEN语句功能,今天的文章中,我们就来get 其具体使用方法~ 2 pandas中的case_when()新方法 首先请确保你的pandas版本大于等于2.2,在确保Python版本大于等于3.9的前提下,终端执行下列命令安装最新版本的pandas : pip install pandas -U 2.1 case_when()的使用 case_when()作为Series对象的方法,其参数非常简单只有一个caselist,用于定义条件映射规则,格式如 函数,进而引用自身实现灵活的条件判断: 函数式条件,在针对数据框进行「链式分析」的过程中,可以很灵活的基于上一步的「临时计算状态」,进行条件赋值操作,譬如(示例数据及代码见文章开头仓库地址): 更多有关case_when

    47210编辑于 2024-01-30
  • 来自专栏Python数据科学

    大更新,pandas终于有case_when方法了!

    好消息是,最近pandas2.2.0稳定版本发布了,其中一个新功能就是增加了case_when方法,可以说这个一直被大家诟病的方法终于补齐了! 二、case_when用法 东哥了解了一下case_when用法,总结了以下几点要点。 对象:case_when属于series对象的方法,dataframe对象无法使用。 df['score_all'] = df.sum(axis=1) 对加工的总成绩列使用case_when方法,生成1-5的排序等级。 这就是case_when非常灵活的原因,判断条件和替换值既可以是固定的值,也可以是自定义的函数,根据自己的需求随意设置。 案例3 case_when只实现区域内的变量加工,其输出结果也可以与其他函数方法结合,产生更多强大的功能。

    84810编辑于 2024-02-05
  • 来自专栏数据科学学习手札

    (数据科学学习手札157)pandas新增case_when方法

    https://github.com/CNFeffery/DataScienceStudyNotes 1 简介   大家好我是费老师,pandas在前不久更新的2.2版本中,针对Series对象新增了case_when ()方法,用于实现类似SQL中经典的CASE WHEN语句功能,今天的文章中,我们就来get其具体使用方法~ 2 pandas中的case_when()新方法   首先请确保你的pandas版本大于等于 2.2,在确保Python版本大于等于3.9的前提下,终端执行下列命令安装最新版本的pandas: pip install pandas -U 2.1 case_when()的使用 case_when 函数,进而引用自身实现灵活的条件判断:   函数式条件,在针对数据框进行链式分析的过程中,可以很灵活的基于上一步的临时计算状态,进行条件赋值操作,譬如(示例数据及代码见文章开头仓库地址):   更多有关case_when

    41310编辑于 2024-01-28
  • 来自专栏生信宝典

    R语言中这个筛选差异基因的方式可读性很好,值得推荐

    "NoDiff")) dplyr::case-when 标记差异基因 比之前简洁了一些,可读性强 library(dplyr) res_output %>% mutate(level = case_when groupB,"UP"), "NoDiff"))) case-when只保留差异基因的名字 library(dplyr) res_output %>% mutate(diff_gene = case_when 临时生成列时操作起来更方便了 library(dplyr) res_output %>% mutate(rank=1:n(), keep_gene = case_when suppressPackageStartupMessages(library(tidyverse)) microbenchmark::microbenchmark( case_when(1:1000 Unit: microseconds #> expr min lq mean #> case_when

    1.1K41编辑于 2022-03-27
  • 来自专栏全栈程序员必看

    R语言批量生成CaseWhen的解决方案

    近期写R代码,经常用dplyr::case_when结合stringr::str_detect进行条件判断。 痛点:判断条件可能会改或增删,全写在case_when里,代码冗余且不利于复制和维护,stackoverflow找了一圈,没发现好的解决方案,干脆自己写了一个通用代码以自动生成批量case_when判断 str_flatten(map2_chr(result,pattern,~str_glue("str_detect(x,'{.y}')~'{.x}',"))) x2 <- str_glue("function(x) case_when 结果如下图: 单纯用case_when,需要写成 tibble(fruit=stringr::fruit) %>% mutate( category=case_when( 函数的核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。

    84920编辑于 2022-10-04
  • 来自专栏数据分析1480

    R&Python Data Science 系列:数据处理(2)

    2 条件函数 这里介绍3个条件函数,if_else()、case_when()、between()函数,Python包dfply和R包dplyr中都是这3个函数,在用法上有点细微差别,日常中使用最多 而且if_else()函数可以嵌套使用,不过当条件判断超过2个的时候,建议使用case_when()函数。 2.2 case_when函数 用于多条件赋值,评分卡Woe赋值的时候使用起来很方便。 R语言实现 ##如果钻石价格大于2000,则钻石等级为A,1500-2000为B, 1000-1500以下为C,1000以下为D diamonds %>% mutate(price_class = case_when 注意:case_when函数在Python和R语言中使用的时候有点区别,请留意。

    1.1K10发布于 2019-10-28
  • 来自专栏小明的数据分析笔记本

    跟着Nature Genetics学作图:R语言ggplot2散点图展示主成分分析(PCA)的结果

    figure1b作图代码 fig1b.dat %>% left_join(dat,by=c("Accession"="Accession")) %>% mutate(new.group=case_when ( Location %in% province.X ~ "C", TRUE ~ "O" )) %>% mutate(new.group02=case_when( Group ( Location %in% province.X ~ "C", TRUE ~ "O" )) %>% mutate(new.group02=case_when( Group ( Location %in% province.X ~ "C", TRUE ~ "O" )) %>% mutate(new.group02=case_when( Group ( Location %in% province.X ~ "C", TRUE ~ "O" )) %>% mutate(new.group02=case_when( Group

    82310编辑于 2023-12-01
  • 来自专栏R语言数据分析指南

    ggpol包优雅的绘制蝴蝶图

    ifelse(gender == "female", -y, y)) %>% # 如果是女性,将序列号取反 ungroup() %>% # 解除分组 mutate(status_label = case_when status == "notelected" ~ "not elected"), gender_label = case_when gender == "male" ~ "Male candidates"), dominant_gender = case_when 值为最大最小值及其负值 gender = c("female", "female", "male", "male")) %>% # 性别列 mutate(gender_label = case_when

    76710编辑于 2023-10-24
  • 来自专栏R语言数据分析指南

    ggplot2优雅的绘制流程图

    .+'), x = -2.5 * x,y = 5 * y,type = case_when(str_detect(label, '\\?') - 1.2 box_height <- 1.25 boxes <- output %>%mutate(xmin = x - box_width,xmax = x + box_width,ymin = case_when ( str_detect(step, '(legs|reading|write)') ~ y - 1.5 * box_height,T ~ y - box_height), ymax = case_when %>% mutate(y = ifelse(s_e == "from", ymin, ymax)) %>% select(-c(ymin, ymax)) %>% mutate(x = case_when

    82220编辑于 2022-09-21
  • 来自专栏小明的数据分析笔记本

    跟着Nature microbiology学作图:R语言ggplot2堆积柱形图柱子单独配色/多个图例排序

    %>% group_by(Phylum) %>% summarise(phylum_counts=n()) %>% ungroup() %>% mutate(group01=case_when )) %>% group_by(Class) %>% summarise(class_counts=n()) %>% ungroup() %>% mutate(group02=case_when ")) %>% group_by(Order) %>% summarise(order_counts=n()) %>% ungroup() %>% mutate(group03=case_when ) %>% group_by(Family) %>% summarise(family_counts=n()) %>% ungroup() %>% mutate(group04=case_when

    1K50编辑于 2023-08-23
  • 来自专栏生信学习之路

    R语言专题3-条件和循环

    三种情况必满足一种}## [1] "0"# 用ifelse写i = 0ifelse(i>0,"+",ifelse(i<0,"-","0")) # 简单的嵌套结构,大家可以先从看懂模仿开始## [1] "0"补充:case_when ()# 用之前先加载R包dplyrlibrary(dplyr)# 先来个简单的,case_when是按顺序进行判断的i = 0case_when(i>0 ~ "+", # 如果i大于0,就输出"+" 所以不让他以科学计数法显示x = c(0.01,0.001,0.07,0.03,0.00001); x## [1] 0.01000 0.00100 0.07000 0.03000 0.00001# 由于case_when 按顺序进行判断,条件严格的往前写哈# 这个用来看p值比较多case_when(x <= 0.0001 ~ "****", x <= 0.001 ~ "***", x

    68930编辑于 2023-09-17
  • 专题3 条件和循环

    require(g,character.only = T)) install.packages(g,ask = F,update = F)}dplyr包中case_when简化ifelselibrary (dplyr)# case_when() # 可用于将数据转换为分类因子df <- data.frame(player = c('AJ', 'Bob', 'Chad', 'Dan', 'Eric', ' 12## 5 Eric C 32 11## 6 Frank <NA> NA NAdf %>% mutate(quality = case_when

    43310编辑于 2024-04-18
  • 来自专栏R语言数据分析指南

    ggplot2绘制CNS级热图

    本节来介绍如何使用分面来绘制热图并填充特殊字符,下面通过一个小例子来进行展示; 加载R包 library(tidyverse) library(ggtext) library(ggforce) 数据清洗 ❝此处使用case_when 来根据数值大小进行特殊字符的转换 ❞ df <- read_tsv("data.xls") %>% mutate( CL_evolution_sign = case_when( CL_evolution > 0 ~ "↑", CL_evolution < 0 ~ "↓", TRUE ~ "="), PR_evolution_sign = <em>case_when</em>

    61210编辑于 2022-09-21
  • 来自专栏Y大宽

    用R根据logFC和p值批量标注基因上下调的N种方法

    "10"="none") df$method3 <- lookup[as.character(df$regulation)] head(df) 第四种方法:逻辑判断转为数字1和0,然后用dplyr包的case_when df$method4 <- case_when(df$regulation == 2 ~ "up", df$regulation == 11 ~ "down test_p & test_up, "up", ifelse(test_p & test_down, "down","none")) 第六种方法:dplyr的case_when df$method6 <- case_when(test_p & test_up ~ "up", test_p & test_down ~ "down", !

    9K10发布于 2019-12-19
  • 来自专栏小明的数据分析笔记本

    R语言ggplot2:单元格为方块的热图简单小例子-2

    reshape2::melt(df,id.vars="Sample") head(df1) image.png 构造数据 library(dplyr) df1%>% mutate(group_1 = case_when ( value <= 0 ~ "A", TRUE ~ "B" ))%>% mutate(group_2=case_when( value >= -1 & value < 0.5 & value <= 0.7 ~ "(0.5,0.7]", value > 0.7 & value <= 1 ~ "(0.7,1]", ))%>% mutate(value_1=case_when

    3.6K20发布于 2021-04-21
  • 来自专栏小明的数据分析笔记本

    跟着Science学作图:R语言ggplot2作图展示基因组局部区域的共线性

    col_names = FALSE) %>% mutate(X9=str_replace(str_sub(X9,1,17),"ID=",""), X7=case_when ( X7 == "-" ~ -1, TRUE ~ 1 ), X10=case_when( X9 == col_names = FALSE) %>% mutate(X9=str_replace(str_sub(X9,1,17),"ID=",""), X7=case_when ( X7 == "-" ~ -1, TRUE ~ 1 ), X10=case_when( X9 ==

    1.5K30编辑于 2023-08-23
  • 来自专栏小明的数据分析笔记本

    跟着NatureCommunication学数据分析:R语言相对丰度数据主坐标分析(PcoA)

    FALSE) head(group) 这个分组数据和论文中提供的代码的分组信息还少一些内容,我们再给它增加几列 library(tidyverse) group %>% mutate(Site=case_when ( Group == "Slope" ~ "None-CD", TRUE ~ "CD" ), high=case_when( `Depth (m)`< 6000 ~ '5k `Depth (m)`>=9000 & `Depth (m)` < 10000 ~ '9k', `Depth (m)`>=10000 ~ '10k' ), position=case_when

    1.1K20编辑于 2023-01-06
  • 来自专栏生信技能树

    听说WGCNA官网崩了?那还能做基因共表达分析吗?

    = "Run") head(PCA_coord) # 选择10个developmental stages PCA_coord <- PCA_coord %>% mutate(stage = case_when "5 DPA","10 DPA","20 DPA","30 DPA","MG","Br","Pk","LR","RR" ))) %>% mutate(dissection_method = case_when = to) %>% mutate(t = r*sqrt((number_of_tissue_stage-2)/(1-r^2))) %>% mutate(p.value = case_when ungroup() module_line_plot <- Exp_table_long_averaged_z_high_var_modules %>% mutate(order_x = case_when = "Anthesis") %>% filter(str_detect(tissue, "epider|chyma|Vasc") == F) %>% mutate(order_x = case_when

    65110编辑于 2024-12-19
  • 来自专栏生信小驿站

    如何自定义Y轴间隔(制作类似fox news的线图)

    scales::trans_new("crazyfox", transform = function(y){ yt <- case_when return(yt) }, inverse = function(yt){ y <- case_when

    1.9K10发布于 2020-04-23
领券