首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

`dplyr::case_when`没有给我正确的结果

dplyr::case_when是R语言中的一个函数,用于根据条件进行多个值的替换。它可以根据一系列的条件表达式,返回对应条件为真时的结果。

在使用dplyr::case_when函数时,可能会出现没有给出正确结果的情况。这可能是由于以下几个原因导致的:

  1. 条件表达式错误:请确保条件表达式的语法正确,并且每个条件都能够被正确地评估为逻辑值(TRUE或FALSE)。可以检查条件表达式中的变量、运算符和逻辑关系是否正确。
  2. 条件顺序问题:dplyr::case_when函数会按照条件表达式的顺序进行评估,只返回第一个满足条件的结果。因此,如果条件的顺序不正确,可能会导致不符合预期的结果。请确保将最具体的条件放在前面,最一般的条件放在后面。
  3. 缺失值处理:dplyr::case_when函数对于缺失值的处理可能会有不同的行为。如果条件表达式中存在缺失值,可能会导致结果不符合预期。可以考虑使用is.na()函数来检查和处理缺失值。

如果dplyr::case_when函数没有给出正确的结果,可以尝试以下方法来解决问题:

  1. 检查条件表达式:仔细检查条件表达式中的变量、运算符和逻辑关系,确保语法正确。
  2. 调整条件顺序:根据具体情况,调整条件表达式的顺序,将最具体的条件放在前面。
  3. 处理缺失值:使用is.na()函数来检查和处理缺失值,确保条件表达式中不包含缺失值。
  4. 使用其他函数:如果dplyr::case_when函数无法满足需求,可以考虑使用其他函数或方法来实现相同的功能,例如ifelse()函数或switch()函数。

总之,dplyr::case_when函数是R语言中用于条件替换的函数,如果没有给出正确的结果,可以通过检查条件表达式、调整条件顺序、处理缺失值或使用其他函数来解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

    大家好,又见面了,我是你们的朋友全栈君。 近期写R代码,经常用dplyr::case_when结合stringr::str_detect进行条件判断。...痛点:判断条件可能会改或增删,全写在case_when里,代码冗余且不利于复制和维护,stackoverflow找了一圈,没发现好的解决方案,干脆自己写了一个通用代码以自动生成批量case_when判断...结果如下图: 单纯用case_when,需要写成 tibble(fruit=stringr::fruit) %>% mutate( category=case_when(...函数的核心依然是case_when,条件为真即停止,所以效率上没有损失。 如果想改条件,在conditions里放肆增删改,改完再跑一遍allCaseWhen即可。...没有写默认条件,因为没必要,可以用coalesce()处理。 以上。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    61620

    面试题6(选择正确的递增运算结果)

    What is the value of y after execution zhe flowing statements (执行完下列表达式后的结果是什么?)...出现频率: ★★★★ 【面试题解析】 “++”和“--”是Java的递增和递减运算符。他们具有一些特殊的性能,使用起来非常有趣,下面将对二者做详细讨论。...但是,当递增或递减运算符作为一个较大的表达式的一部分,前缀或后缀就会有重要的不同。...如果递增或递减运算符放在其运算数前面,Java 就会先执行相应的递增或递减操作,重新获取该运算数的值,并将其用于表达式的其他部分。...这样,语句行“y=++x;," 和下面两句是等价的: x=x+1; y=x 但是,当递增运算符作为后缀时,如下: x=42; y=x++; 在执行递增运算以前,已将x的值赋给了y 因此y的值还是42。

    876140

    几乎没有差异,并且完全没有交集的组学数据分析结果

    转录组测序后的差异分析 从质量控制可以看到, 有斑点蛋和正常蛋应该是在表达量的全局水平是没有分组差异的,如下所示: 全局水平是没有分组差异 很明显就: RNA-seq analysis identified...(WGBS)结果没有交集的情况可能涉及多个因素,以下是一些可能的解释: 功能独立: 转录组测序和全基因组甲基化测序测量的是细胞不同方面的生物学特征。...实验设计和条件选择: 如果实验设计中选择了不同的条件或不同的时间点,可能导致差异基因和甲基化位点在这两个实验中没有交集。 数据分析方法: 不同的数据分析方法可能导致不同的结果。...确保采用合适的统计方法和分析流程可以减少假阳性和假阴性结果,增加两者之间的交集。...数据库规律一文就够 从GEO数据库下载得到表达矩阵 一文就够 GSEA分析一文就够(单机版+R语言版) 根据分组信息做差异分析- 这个一文不够的 差异分析得到的结果注释一文就够 绘制差异基因的热图,以及火山图即可

    30210

    软件领域没有银弹 —— 建立正确的云计算认知

    将自己命脉交给别人把控,还不做好两手准备,一旦出现了问题,极有可能会导致整个企业的崩溃。 如果前沿数控能有一个好的 Plan B,那一切可能都完全不同,可惜,没有如果。...在这个过程中,并没有了解云计算到底是个什么东西,只是觉得他能够替代传统的服务器托管,自然也就将它视为传统的服务器托管的产品。 但是,云计算真正解决的问题是系统的弹性问题。...正确的云计算认知是什么 首先,你必须明白云计算提供的价值是弹性,无论销售跟你吹的天花乱坠,你只需要问清楚,你们的弹性到底有多好,就能看出一个云计算企业的能力强弱了。...正确的云计算用法是什么样的 合理利用弹性构架你自己的云架构:对于绝大多数应用来说,都存在应用的高峰期和低谷期,在低谷期使用固定配置运行;在高峰期引入按量计费的资源承载流量。...祝你能够掌握正确的云计算认知,用好云计算带来的“弹性”,创造你自己的奇迹,不要重蹈前沿数控的覆辙。

    98710

    没有绿幕,AI给我们造! 超强的稳定视频抠像 (RVM)来了

    这不就是把《黑客帝国》开始大热的绿幕/蓝幕拍摄技术普及到人人都可以操作的地步了么!人人都可以圆大导演的梦啦!当时就暗暗定下一个小目标:一定要复现出飞桨框架的代码实现版本!...最终复现成功,看到自己的视频背景成功抠除的时候,简直激动的要跳起来。...运行环境建议选高级版或至尊版,有NvidiaTesla(特斯拉)V100的GPU的支持,动力强劲,让我们的视频处理速度更快! STEP2:上传素材 点击左侧的上传按钮上传素材。...没有技术门槛,不需要任何技术背景,人人都可以过把瘾。尤其是在AI Studio项目里,只要动动手上传视频,一键转换,然后下载即可。...因能力和时间有限,目前还没有复现训练代码,有兴趣的朋友可以一起来实现啊! 结束语 让我们荡起双桨,在AI的海洋乘风破浪!

    3.4K20

    自定义的合计公式,怎么得不到正确结果?

    小勤:是不是因为这些null要替换成0的原因才行吗? 大海:对的,null不能直接加。 小勤:除了替换成0,还有其他替换方式吗? 大海:可以直接用List.Sum函数完成,无需替换。 小勤:啊?...大海:在求和的时候,两个理解得到的结果都是一样的,但是,假如不是求和,是求平均,你觉得应该是把null当做0,还是会忽略null呢? 小勤:这个看起来真是忽略了null哦。...另外,要加的列很多的话怎么办?在List.Sum里一个个点击输入或写列名都好麻烦啊! 大海:可以一键生成哦。...先选中要加总的列,然后在添加菜单里,点击【标准】-【添加】按钮,或者点击【统计信息】-【求和】按钮: 小勤:原来还能直接鼠标操作啊!...大海:其实你可以看到,基础的数值加减乘除、文本左中右提取等等,都可以一键搞定。自己在实际应用时可以多摸索了解一下。当然,这些基础的功能涉及的函数也要熟悉,毕竟在很多时候是需要综合起来运用的。

    49330

    Toast最正确的打开方式(没有之一)

    写了一堆的代码,这个才是最正确,最简单的。 看一下Overlay的注释: /// A [Stack] of entries that can be managed independently....Overlays通过把子widget插入到overlay的stack里面, 让依赖它的子widget可以浮在其它的可见元素上面。OverlayEntry可以管理漂浮的widgets。...,使用MaterialApp或者WidgetsApp中Navigator对象创建的Overlay. navigator使用overlay来管理可见的路由。...(查看一下Navigator的源码,里面是返回了一个Overlay的,我们可以直接在这个Overlay中插入OverlayEntry来制作类似Toast,Loaing这样的widgets) /// See...下面是一个简单的Toast。Global.context是我自己定义的全局对象,在页面创建的时候保存了BuildContext, 这样在一些地方可以方便调用。

    2.9K30
    领券