nev*_*int 1 math product r multiplication
我想将fact向量中的所有元素相乘,即:
final_prod = 0.01 * 0.05 * 0.02
Run Code Online (Sandbox Code Playgroud)
这就是我在循环中的方式.
fact <- c(0.01,0.05,0.02)
final_prod <- 1;
for (i in 1:range(fact)){
all_prod <- all_prod * fact[i];
}
print(final_prod)
Run Code Online (Sandbox Code Playgroud)
但它给出的最终产品是错误的.它应该是0.00001而不是0.01.
我上面的方法出了什么问题?
我明白有R'ish方式.但我想在循环中执行它的原因是因为涉及更复杂的计算.
而不是range,你想要的1:length(fact).
你是变量之间的切换final_prod和all_prod,这样all_prod永远不会在一开始定义.
你为什么不想这样做R方式,这需要更少的代码?无论所涉及的计算是多么复杂,它可能是(你可以尝试在这里解释),但为此您只需使用该函数prod:
final_prod = prod(fact)
Run Code Online (Sandbox Code Playgroud)