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

「R」tidyverse 中公式函数

本文写作由来是知识星球一个朋友对如何在 tidyverse 系列包中使用公式函数(单侧公式)不太熟悉,所以通过本文分享一下我心得。...构造数据 本文为了聚焦于公式函数本身用法,我构造示例数据会非常简单。...公式生成匿名函数 利用公式这一特点,tidyverse 系列包有很多函数支持用单侧公式替换函数。如果你仔细阅读过相关文档,例如 ?...公式左侧内容对于构造匿名函数没有用,所以这里都是用单侧公式。 这段文档不仅告诉了我们如何通过公式构造匿名函数,还提供了一些快捷方式说明。 下面我们通过一些例子来进行讲解。...公式函数用法 核心是什么 公式函数优点在于提供了一种构造匿名函数简洁方式。而核心在于在同一行代码表示如何使用输入构造出输出。

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

    PowerBI公式-Earlier函数

    Earlier 函数 这是一个让很多初学者困惑函数,尤其是看到下面这样句型。许多人是在学习了DAX很久之后才领悟了Earlier使用方法,其实我认为有时候我们把它想复杂了。 ?...Earlier = 当前行 我们第一阶段学习Filter是一个行上下文函数,Earlier也是一个行上下文函数。...主观地讲,Earlier这个函数命名很容易让人困惑,英文直译为“更早”,它本义是指前面用到行上下文,基于这个语义命名没毛病,然而这个概念很抽象,在使用中是很难体会到更早含义。...所以学习这个公式最好方法是我们先忽略它命名,把它看做CurrentRow,即Earlier=当前行, 至少99%应用情况可以这样去理解,相信我,这是入门理解Earlier公式最快办法。...我们可以更进一步分解Filter这个动作,当走到第7行时,公式earlier([顾客名字])就是指当前行顾客名字,即"李达康"。

    4K70

    PowerBI公式-Filter函数

    高级筛选器 Filter函数 度量值工作两大核心步骤是筛选和计算,筛选函数是制定计算范围,聚合函数用途是计算。...比如求咖啡种类=”拿铁”, 价格>30销售数量,写公式=Calculate([销售量],[咖啡种类]="拿铁", [价格]>30)。...2 Filter工作原理 首先我们知道,Filter不是计算函数,是筛选函数,返回结果是一张表,所以无法单独使用,经常与Calculate搭配,也可以直接与某些聚合函数搭配,比如Countrows(...Calculate([销售量],[咖啡种类]="拿铁", [价格]>30),这个公式,我们也可以用Filter来完成,即Calculate([销售量],Filter('咖啡数据',[咖啡种类]="拿铁"...Filter与我们前面学习9个函数不同,它对所筛选表进行逐行横向扫描,针对每一行循环地执行设定筛选程序,我们把这类函数叫做Iterator, "迭代函数",后面第三阶段将要学习SUMX等带X类函数以及

    6.8K61

    PowerBI公式-SUMX函数

    SUMX 函数 DAX设计了一系列后缀为X函数,SUMX,AVERAGEX,MAXX,MINX...它们与Filter和Earlier一样,都属于行上下文函数。...我们就以最常用SUMX举例学习,其他X函数用法都是触类旁通。 SUMX语法构成很简洁, ? 最简单最常见用法就是针对[销售额]=[价格]*[数量]这类运算。 ?...它计算过程有3步: 1.因为是行上下文函数,它会对'咖啡数据表'逐行扫描,创造行上下文。...3.SUMX记住了每一行返回值,最后把所有的值加总起来求和。 可以想想,如果没有SUMX这样行上下文函数,我们求销售额方法就要绕个弯路。...除了在度量值和计算列两个方法中做出选择,在写一个度量值时,因为DAX提供公式很灵活,达到同一个目的方法也有很多。很多时候,不管白猫黑猫,能捉老鼠就是好猫。 ?

    9.1K51

    PowerBI公式-All函数

    That's ALL 函数 通过上一节,我们了解到Calculate可以对初始筛选上下文增删改生成新筛选上下文,增删改含义如下图所示,增加即在原有基础上加入新筛选条件缩小上下文,更改是覆盖原条件重新限定...要想收放自如,任意地增删改上下文,我们还需要掌握两个高级筛选函数,All家族和Filter,本节先来学习All函数。 ?...All函数可以说是增删改上下文中删除,即在初始上下文基础上扩大范围,这就像我们在地图上拉远了视野一样。 ? 实际操作中你也可以把它理解为Excel中对表筛选时清除筛选功能。 ?...All函数不仅可以清除筛选表,还可以清除删选列,用法是一样。我们再创建[销售量4]=Calculate([销售量],All('原材料'[咖啡种类])),得到下表 ?...这里列是可以多个引用,比如All([列1],[列2],[列3]...),","表示AND关系。 读到这里你可能会问,All函数在实际应用上有什么意义?

    2.8K30

    PowerBI公式-Values函数

    Values 函数 开启DAX公式学习第三阶段。...一般情况微软官网上对公式翻译比较生涩,然而对于Values这个函数我觉得它解释得特别清楚:“返回由一列构成一个表,该表包含来自指定表或列非重复值”。换言之,重复值将被删除,仅返回唯一值。...在学习Filter公式时提到过虚拟表概念,这个表存在我们数据模型中,并与所筛选原表关联。Values生成表也是一张虚拟表。...在学习Filter函数章节中我们求季度销售数量超过200杯分店销售数量, [销售量7]=Calculate([销售量], filter('区域负责人名单', [销售量]>200) ,实现这个计算前提是我们有一张含有不重复城市名称列区域负责人名单表...你会看到销售量9=销售量7结果,这是因为Values返回这张虚拟表存在数据模型中并与源表即咖啡数据表关联,达到了同区域负责人名单表一样效果。

    5.5K20

    python中math.log()函数和numpy.log()函数区别

    参考链接: Python中numpy.log python中 math.log 函数和numpy.log 函数区别  1.调用math.log 函数进行对数运算2.调用numpy.log函数进行对数运算...3.总结区别 1.调用math.log 函数进行对数运算  因为我需要对一个数组每个元素都取对数,一开始,我使用是math.log(),结果程序给我报错:  #执行python程序  L_p=math.log10...(data/P_ref1) #程序返回错误: TypeError: only size-1 arrays can be converted to Python scalars 出错原因很显然,math.log...2.调用numpy.log函数进行对数运算  将程序改为numpy.log进行计算:   L_p=numpy.log10(data/P_ref1) #程序结果输出 L_p: [-48.20831346...3.总结区别   numpy.log()和math.log()都可以进行对数运算math.log无法对多个数值进行计算,而numpy.log可以

    2K20

    PowerBI公式-Calculate最强大函数

    最强大函数 Calculate 从Calculate语法结构我们可以看出它能够把计算表达式和筛选条件整合起来。...这个输出结果是完全没有问题,我们做这个例子是为了说明Calculate工作原理,从这个结果中可以得出Calculate函数一个重要结论: Calculate可对初始筛选增删改,即生成新筛选上下文...注意到[销售量2]公式引用是'原材料'表和'杯型'表,两个都是Lookup表。启动Calculate仿佛是开启了漏斗过滤器一个阀门,使数据像水一样顺流而下,执行对数据表筛选。 ?...要知道Excel中是没有Maxif/Minif这种公式。...Calculate强大还不止于此,它可以与各种筛选器函数搭配组合如All,Values,Filter来发挥更强大功能,后面的几节我们分别介绍。

    7.7K40

    泰勒公式和Gamma函数

    今天带大家玩下数学中编程,难度可能有点大,数学不好的人请离开。 泰勒公式 大家知道泰勒公式吗?对它理解有多深呢? 数学中,泰勒公式是一个用函数在某点信息描述其附近取值公式。...如果函数足够平滑的话,在已知函数在某一点各阶导数值情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点邻域中值。泰勒公式还给出了这个多项式和实际函数值之间偏差 ?...泰勒公式,也称泰勒展开式。是用一个函数在某点信息,描述其附近取值公式。...如果函数足够平滑,在已知函数在某一点各阶导数值情况下,泰勒公式可以利用这些导数值来做系数,构建一个多项式近似函数,求得在这一点邻域中值。 就是我不知道那函数表达式,我想通过泰勒公式来计算值。...公式 其中, ? 表示f(x)n阶导数,等号后多项式称为函数f(x)在x0处泰勒展开式,剩余 ? 是泰勒公式余项,是 ? 高阶无穷小。 有名泰勒级数: ?

    2.6K30

    Excel公式技巧03: INDEX函数,给公式提供数组

    INDEX函数虽然可以生成数组,但如果不用数组公式,似乎只能返回其生成数组中第一个元素。然而,可以使用INDEX函数来给公式提供数组。...函数来生成数组: =SUM(INDEX(A1:C10,N(IF(1,{1,2,3})),N(IF(1,{1;2;2;3})))) 得到结果与下面的公式相同: =SUM(SUBTOTAL(9,OFFSET...不像OFFSET函数,其第一个参数必须是对工作表中实际单元格区域引用,INDEX函数可以接受和处理其引用数组,该数组由公式中其他函数生成值组成。...并且,这种强制返回多个值技术使用不限于INDEX函数。...,原因是Excel会将该公式转换为: =MAX(VLOOKUP("A",A1:B10,2,0)) 也就是说,传递给VLOOKUP函数数组中3个元素仅第1个元素被处理。

    3.3K40

    Excel公式技巧76:解决IF函数与数组函数冲突

    在Excel中,有一些函数可以接受数组参数进行数组运算,例如SUMPRODUCT函数,它们不需要像数组公式那样,在输入结束前要按Ctrl+Shift+回车键。然而,IF函数打破了这个规则。...如果这些函数参数是由IF函数提供,那么还是需要按Ctrl+Shift+回车键。 如下图1所示,要求一级分数和。 ?...图1 我们使用SUMPRODUCT函数,因其是一个数组函数,输入公式后,原认为其无须按Ctrl+Shift+回车键,然而结果是错误值#VALUE!。...图2 规则:如果在IF函数参数logical_test中有数组计算,那么公式需要按Ctrl+Shift+回车键,即便将其作为数组函数数组参数。...此时,如果你想创建一个无需按Ctrl+Shift+回车键公式,则需要使用其它方法来代替公式IF函数。可以使用: (B3:B8="一级")*(C3:C8) 达到相同判断效果。

    2.8K30

    Excel公式技巧47: MID函数妙用

    我们知道MID函数从文本字符串中指定起始位置返回指定长度字符串,例如: =MID(B2,3,1) 获取单元格B2中第3个字符,如下图1所示。 ?...如果想要获取文本字符串中第5个和第6个字符,可以使用数组公式: =MID(B2,{5,6},1) 结果如下图2所示。 ?...那么,想要先获取文本字符串中第6个字符、再获取第5个字符,如何使用公式呢?很简单,将上面数组公式5和6颠倒即可: =MID(B2,{6,5},1) 结果如下图3所示。 ? 神奇吧!这里是关键!...这使我们可以利用MID函数从右向左取值,也可以按任意顺序取值。 例如,获取文本字符串中第3个、第6和第8个字符,使用数组公式: =MID(B2,{3,6,8},1) 结果如下图4所示。 ?...获取文本字符串中第6个、第3个和第8个字符,使用数组公式: =MID(B2,{6,3,8},1) 结果如下图5所示。 ? 后面,我们会在实际公式中运用这个技巧。

    1.4K20

    np.log1p( ) 函数应用

    参考链接: Python中numpy.expm1 数据平滑处理 -- log1p( ) 和 exmp1( )  1. ...数据预处理时首先可以对偏度比较大数据用og1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续分类结果得到一个好结果。  2....平滑问题很容易处理掉,导致模型结果达不到一定标准,log1p( )能够避免复值得问题 — 复值指一个自变量对应多个因变量  log1p( ) 使用就像是一个数据压缩到了一个区间,与数据标准类似。...其逆运算就是expm1函数  由于使用log1p()对数据进行了压缩,最后需要将预测出平滑数据进行一个还原,而还原过程就是log1p逆运算expm1. ...log1p = log(x+1)  当x较大时直接计算,当x较小时用泰勒展开式计算

    1.3K20

    PowerBI公式-IF和SWITCH逻辑函数

    IF 和 SWITCH 逻辑函数 IF应用与Excel中IF基本一样。此外它同Divide类似,最后一个参数否也是可选项,如果省略的话,则默认返回空。 ?...IF公式用起来经常让人头疼地方是当有特别多条件时,外套套外套。比如我们区域负责人名单表中有负责人年龄,可以按照区间做一个年龄段分层,4个分层就需要4个If嵌套来完成。...这个时候Switch很好地解决了去外套问题。如下图右,我们用Switch+True方法来定义不同条件返回值,明显使表达式更清晰。 ?...如果是以一个准确值来判断,Switch用法还可以直接引用表达式: ? DAX针对特别情况设计高级公式有很多,没有最好,只有最适合。...尽管我们学会了Divide和Switch,IF仍然是我们大多时候选择,因为他简单靠谱。例如下面这个形式,无论是在度量值还是在列中,经常会用到。 ?

    8.9K20

    Excel实例:数组公式函数

    我们在Excel电子表格中描述工作表公式 返回一个值,该值分配给包含该公式单元格。Excel还允许您定义一个公式,该公式可以同时将值分配给一系列单元格。这些称为 数组公式。...您可以通过突出显示整个范围并按Delete 键来删除包含数组公式范围 。您可以覆盖数组函数,将其替换为一个值或另一个公式。重要是要使用整个范围而不是范围一部分。...数组功能 Excel一些内置函数是数组函数,其中函数输出是数组。这些函数管理方法如上所述,适用于数组公式。 示例2:将图2A和B列中数据范围更改为等效行范围。 ?...图2 –数组函数 这可以通过ExcelTRANSPOSE数组函数使用以下步骤来完成: 突出显示输出范围D3:I4 输入数组公式= TRANSPOSE(A3:B8) 按 Ctrl-Shift-Enter...如果突出显示范围太小,输出将被截断,而如果突出显示范围太大,则多余单元格将被填充错误值#N / A。 对于数组公式公式栏包含用大括号括起来数组公式

    2.1K10

    Excel 函数公式应用大全

    Excel 是一款功能强大电子表格软件,广泛应用于商业、财务、教育等各个领域。在 Excel 中,函数公式是实现数据分析、计算和处理重要工具。...本文将介绍一些常用 Excel 函数公式,并提供实际应用示例,帮助读者更好地利用 Excel 进行数据处理和分析。...我们可以使用 Excel 函数公式对这些数据进行分析和计算,例如: 计算总销售额:=SUM(C2:C100) 查找最畅销产品:=INDEX(A2:A100, MATCH(MAX(B2:B100),...Excel 函数公式,我们可以快速、准确地对大量数据进行分析和计算,提高工作效率和数据处理质量。...本文介绍函数公式只是 Excel 中冰山一角,希望读者能够通过不断学习和实践,掌握更多高级 Excel 技巧,提升工作和学习效率。

    21810
    领券