通过在 R 中给一些变量一个值来简化方程
Simplify an equation by giving some variable a value in R
我想简化下面的等式,同时改变b的值
b*(b*((1-b)*x) + (1-b)*y) + (1-b)*z
所以,如果我给 b = 0.9,
b <- 0.9
# the answer will be:
0.081x + 0.09y + 0.1z
原因是我想看看不同的 b 值将如何影响 x、y 和 z 的 weights/coefficients。
我不知道该怎么做,或者在 R 中是否可行。
感谢任何帮助。
我想你可以像下面那样尝试 Reduce
Reduce(function(u, v) b * u + v, (1 - b) * c(x, y, z))
你会看到
> b <- 0.9
> x <- 1e3
> y <- 1e2
> z <- 1e1
> Reduce(function(u, v) b * u + v, (1 - b) * c(x, y, z))
[1] 91
如果要查看x
、y
和z
的系数,可以使用
> f <- function(b) (1 - b) * b^((3:1) - 1)
> f(0.9)
[1] 0.081 0.090 0.100
和x
、y
和z
的加权和可以写成
s = sum(f(0.9)*c(x,y,z))
我想简化下面的等式,同时改变b的值
b*(b*((1-b)*x) + (1-b)*y) + (1-b)*z
所以,如果我给 b = 0.9,
b <- 0.9
# the answer will be:
0.081x + 0.09y + 0.1z
原因是我想看看不同的 b 值将如何影响 x、y 和 z 的 weights/coefficients。
我不知道该怎么做,或者在 R 中是否可行。
感谢任何帮助。
我想你可以像下面那样尝试 Reduce
Reduce(function(u, v) b * u + v, (1 - b) * c(x, y, z))
你会看到
> b <- 0.9
> x <- 1e3
> y <- 1e2
> z <- 1e1
> Reduce(function(u, v) b * u + v, (1 - b) * c(x, y, z))
[1] 91
如果要查看x
、y
和z
的系数,可以使用
> f <- function(b) (1 - b) * b^((3:1) - 1)
> f(0.9)
[1] 0.081 0.090 0.100
和x
、y
和z
的加权和可以写成
s = sum(f(0.9)*c(x,y,z))