【发布时间】:2019-03-12 14:41:28
【问题描述】:
我需要一些关于最佳实践的帮助
我有一个函数 fc_mean_wages() 计算一个值(平均工资)并执行这些任务(粗略地):
- 获取工人的月工资作为参数(长度 m 或更短)
- 如果我没有m工资,我会寻找获得类似替代的方法: 2a.从同一雇主处获得其他工人的中位数, 2b。否则,我会得到该活动的全国平均值
- 获取 m 指数表,以根据通货膨胀调整工资。
- 我计算 m 个选定值的加权平均值
我必须与成千上万的工人一起完成这项任务。所以我可以做两件事
- A.将完整的工资数据库作为参数,使用 ONE 函数调用计算所有数据。
- 乙。仅将一名工人的工资作为参数,以矢量化方式计算所有工资(例如:
wages %>% group_by (worker) %>% mutate(., index_tables, wages, activity_means_table))
我选择 A 是因为该函数需要计算同一工资数据库的中位数,并且当您必须将大表作为输入时,不知道向量化是否能正常工作。 我的 A 解决方案不是一个很好的函数,它更像是一个单一的过程而不是一个函数形式。
¿可以尝试矢量化此任务吗? ¿ 是否有更好的绩效调用工资表多次并按工人过滤工人?
【问题讨论】:
-
说明你正在使用什么包,出现
tidyverse,还有其他的吗? -
我正在使用
tidyverse家族和lubridate