[英]How do I have a function that multiplies 2 functions in r?
w <- -1
pqxf <- function(y)(1)*(y) # replace p with price of y
pqyf <- function(x)(w*x)-(w*16) # -1.25 is the wage rate
utilityf <- function(x)(80)*(1/(x)) # the utility function C,l
hours <- c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)
我想弄清楚如何乘以 pqxf 和 pqyf,使utilityf
在这里计算出utilityf
应该是什么样子有点困难,所以让我们使用一个更简单的例子。 我们有两个函数square()
和inverse()
,我们想做一个计算,涉及对一组数字a
进行平方,然后乘以另一组数字b
的倒数。 首先让我们创建平方和反函数:
square <- function(a) {
a^2
}
inverse <- function(b) {
1 / b
}
这些只是函数,在我们调用它们并将输入传递给它们之前,它们不会做任何事情。
这是您在此问题的先前版本中尝试执行的操作:
output_bad <- function(a, b) {
square * inverse
}
这不起作用,因为我们根本不调用平方和反函数,我们不给它们输入。 所以我们最终试图将一个function
对象乘以另一个function
对象。
这是正确的方法:
output <- function(a, b) {
square(a) * inverse(b)
}
我们提供a
和b
作为output
函数的输入,并对它们调用 square 和 inverse 以从这些函数中获得单独的结果,然后我们可以将它们相乘。 现在我们可以将a
和b
不同值传递给output
:
> output(c(1, 2, 3), c(4, 5, 6))
# [1] 0.25 0.80 1.50
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.