我有一个DF
看起来像这样的data.frame
category var1 var2
apples 1 4
bananas 3 3
orange 4 1
kiwis 2 3
我还创建了一个简单的自定义函数,该函数基于两个参数生成输出:
annualize_fte <- function(tenure, amount)
{
if (tenure==0) return(0)
if (tenure>12) {
result = amount
} else {
t_factor = 12 / tenure
result = amount * t_factor
}
return(result)
}
我想创建第三列var3,这是应用annualize_fte(var1, var2)
到每一行的结果。
我尝试了以下操作,但失败了:
mutate(DF, var3=annualize_fte(var1, var2))
apply(DF, 1, annualize_fte, DF$var1, DF$var2)
我收到未使用的参数周围的错误或条件长度> 1的错误。
也许您想尝试Vectorize()
实现它,以便您的函数可以使用和返回向量:
annualize_fte_v <- Vectorize(annualize_fte)
(DF$var3 <- annualize_fte_v(DF$var1,DF$var2))
# category var1 var2 var3
# 1 apples 1 4 48
# 2 bananas 3 3 12
# 3 orange 4 1 3
# 4 kiwis 2 3 18
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句