gpt4 book ai didi

r - 将自定义函数应用于 R 中数据框中每一行的两列

转载 作者:行者123 更新时间:2023-12-04 23:41:58 28 4
gpt4 key购买 nike

我有一个数据框 DF看起来有点像这样

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

关于r - 将自定义函数应用于 R 中数据框中每一行的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34682109/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com