使用R,是否有一个公式可以帮助我根据这个条件计算销售佣金。例如:
如果增长率(%)介于5%和7%之间,那么推销员将获得佣金,该佣金将从10%线性到12.5%
变量:
TargetAmt<-100
Earned<-105.6
PctGrowth<-((Earned-TargetAmt)/TargetAmt)*100
PctGrowth
5.6
因此,我现在需要计算他的佣金,从10%到12.5%是线性的。
我可以通过计算线的斜率手动完成此操作。但是,我怎么能在R?
答案 0 :(得分:3)
1)lm 增长5.6%,佣金为10.6%
growth <- c(5, 7)
commission <- c(10, 12.5)
fit <- lm(commission ~ growth)
predict(fit, list(growth = 5.6))
## 1
## 10.75
1a)或者,我们可以从线性回归中得到公式,然后自己应用它。在这种情况下,斜率为1.25,截距为3.75:
> fit
Call:
lm(formula = commission ~ growth)
Coefficients:
(Intercept) growth
3.75 1.25
所以佣金是增长的1.25倍,加上3.75个百分点,即1.25 * 5.6 + 3.75 = 10.75。
2)约另一种方法是像这样使用approx
:
approx(growth, commission, xout = 5.6)$y
## [1] 10.75
答案 1 :(得分:2)
替代解决方案
查找行的等式
使用y = mx + c:
m = (0.125 - 0.1)/(0.07-0.05)
m = 0.025/0.02
m = 1.25
将0.1(10%)和0.05(5%)代入等式中得到c
y = 1.25x + c
0.1 = (1.25 * 0.05) + c
0.1 - (1.25 * 0.05) = c
c = 0.0375
我们现在有了这条线的等式:
y = 1.25x + 0.0375
代码:
TargetAmt <- 100
Earned <- 105.6
profitAsDecimal = (Earned/TargetAmt) - 1
commission = (1.25 * profitAsDecimal) + 0.0375
commissionAsDecimal = (1.25 * profitAsDecimal) + 0.0375
因此,对于5.6的增长,您的佣金AsDecimal将为0.1075。乘以100得到10.75的百分比。
这个答案会给你一个5%到7%的线性结果,相当于10%到12.5%。上面的答案从10%到12%