将帧作为函数传递时,无法按dplyr中的组汇总变量

罗比·努克斯

我希望使用dplyr将多个数据帧传递给函数,然后返回带有汇总变量的数据帧。我能够在聚合级别上做到这一点,但是当我尝试按因子分组时,该函数将为整体聚合返回相同的值。这是我工作正常的示例:

compCalc <- function(frame,segment) {
     newFrame <- frame %>% 
     summarise(seg = segment,
          FTEs = sum(FTEs),
          total_TCC = sum(frame$totalCompensationCost),
          TCC_per_fte = sum(frame$totalCompensationCost)/sum(frame$FTEs),
          TCC_per_hour = sum(frame$totalCompensationCost)/sum(frame$hours),
          total_wages = sum(frame$totalWages))
return(newFrame)
}

然后,我像这样调用该函数:

nuSectorOverall <- compCalc(dfEx, "allNonUnion")

我会得到很好的输出,如下所示:

Overall
seg         FTEs     total_TCC    TCC_per_fte  TCC_per_hour total_wages 
allNonUnion 3980.559 185865849     46693.4     24.09153      171344280

现在,当我将group_by子句引入混合时,如下所示:

compCalcEmp <- function(frame,segment) {
    newFrame <- frame %>% 
        group_by(employeeGroup) %>%
            summarise(seg = segment,
                FTEs = sum(FTEs),
                total_TCC = sum(frame$totalCompensationCost),
                TCC_per_fte = sum(frame$totalCompensationCost)/sum(frame$FTEs),
                TCC_per_hour = sum(frame$totalCompensationCost)/sum(frame$hours),
                total_wages = sum(frame$totalWages))
          return(newEmpFrame)
  }

我遇到以下问题:

employeeGroup     seg      FTEs total_TCC TCC_per_fte TCC_per_hour     total_wages total_wages_per_fte
              <chr>   <chr>     <dbl>     <dbl>       <dbl>        <dbl>           <dbl>               <dbl>
1       Bargaining Unit overall  139.2841 185865849     46693.4     24.09153       171344280            43045.28
2 Management & Excluded overall  402.0311 185865849     46693.4     24.09153   171344280            43045.28
3             Non-Union overall 3439.2438 185865849     46693.4     24.09153   171344280            43045.28

如您所见,除FTE外,它正在为每个分组变量计算相同的值!

我望了很久,很难看是否有与此类似的问题,如果找不到,我深表歉意。任何帮助将不胜感激!

一切顺利

[R

爱潮

您不想使用frame$引用管道frame内部的dplyr尝试以下方法:

compCalcEmp <- function(frame,segment) {
    newFrame <- frame %>% 
        group_by(employeeGroup) %>%
            summarise(seg = segment,
                FTEs = sum(FTEs),
                total_TCC = sum(totalCompensationCost),
                TCC_per_fte = sum(totalCompensationCost)/sum(FTEs),
                TCC_per_hour = sum(totalCompensationCost)/sum(hours),
                total_wages = sum(totalWages))
   return(newFrame)
}

它以前没有工作,group_by因为在这种情况下,您是针对整体frame而不是按子集进行汇总

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将变量作为onClick函数中的参数传递

来自分类Dev

无法将变量作为onClick函数中的参数传递

来自分类Dev

将变量作为参数传递给VBA中的函数

来自分类Dev

将变量作为参数传递给 angularjs 中的 setInterval 函数

来自分类Dev

将外部函数(和参数)传递给 dplyr 汇总或变异

来自分类Dev

作为参数传递时,在函数中更新指针地址。[将指针作为C中的引用传递]

来自分类Dev

无法将函数中的变量作为参数发送

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

dplyr使用累积方法按组汇总

来自分类Dev

使用dplyr按多个组进行汇总

来自分类Dev

无法将Powershell中的变量从函数传递到脚本

来自分类Dev

当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

来自分类Dev

无法将函数作为mixin的参数传递

来自分类Dev

无法将函数作为mixin的参数传递

来自分类Dev

按组排名变量(dplyr)

来自分类Dev

尝试将函数作为参数传递时,无法解析的重载函数类型

来自分类Dev

尝试将函数作为参数传递时,无法解析的重载函数类型

来自分类Dev

Swift:我无法将Firebase FIRAuth函数中的变量传递回父函数中的声明变量

来自分类Dev

将字符串参数传递给函数作为dplyr中的数据框列名称

来自分类Dev

如何使用quosure将filter语句作为dplyr中的函数参数传递

来自分类Dev

将多个变量汇总到dplyr中的字符串

来自分类Dev

Javascript:将构造函数作为变量中的引用传递并调用此构造函数

来自分类Dev

如何将另一个函数作为变量传递给R中的函数?

来自分类Dev

将函数参数作为变量传递时,可以更改它们吗?

来自分类Dev

将命名范围作为变量传递时,UBound函数不起作用

来自分类Dev

将参数作为编译时间常数或变量传递时,函数性能之间的差异

来自分类Dev

将变量作为字符串传递给dplyr

来自分类Dev

在R中按组汇总数据帧的所有数字列

来自分类Dev

使用dplyr在特定组中按变量拆分

Related 相关文章

  1. 1

    无法将变量作为onClick函数中的参数传递

  2. 2

    无法将变量作为onClick函数中的参数传递

  3. 3

    将变量作为参数传递给VBA中的函数

  4. 4

    将变量作为参数传递给 angularjs 中的 setInterval 函数

  5. 5

    将外部函数(和参数)传递给 dplyr 汇总或变异

  6. 6

    作为参数传递时,在函数中更新指针地址。[将指针作为C中的引用传递]

  7. 7

    无法将函数中的变量作为参数发送

  8. 8

    使用dplyr按多个组进行汇总

  9. 9

    dplyr使用累积方法按组汇总

  10. 10

    使用dplyr按多个组进行汇总

  11. 11

    无法将Powershell中的变量从函数传递到脚本

  12. 12

    当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

  13. 13

    无法将函数作为mixin的参数传递

  14. 14

    无法将函数作为mixin的参数传递

  15. 15

    按组排名变量(dplyr)

  16. 16

    尝试将函数作为参数传递时,无法解析的重载函数类型

  17. 17

    尝试将函数作为参数传递时,无法解析的重载函数类型

  18. 18

    Swift:我无法将Firebase FIRAuth函数中的变量传递回父函数中的声明变量

  19. 19

    将字符串参数传递给函数作为dplyr中的数据框列名称

  20. 20

    如何使用quosure将filter语句作为dplyr中的函数参数传递

  21. 21

    将多个变量汇总到dplyr中的字符串

  22. 22

    Javascript:将构造函数作为变量中的引用传递并调用此构造函数

  23. 23

    如何将另一个函数作为变量传递给R中的函数?

  24. 24

    将函数参数作为变量传递时,可以更改它们吗?

  25. 25

    将命名范围作为变量传递时,UBound函数不起作用

  26. 26

    将参数作为编译时间常数或变量传递时,函数性能之间的差异

  27. 27

    将变量作为字符串传递给dplyr

  28. 28

    在R中按组汇总数据帧的所有数字列

  29. 29

    使用dplyr在特定组中按变量拆分

热门标签

归档