我怎样才能得到实际的精确结果而不是四舍五入的结果?
result = ((0.61)**(10435)*(0.39)**(6565))/((0.63)**(5023)*(0.60)**(5412)*(0.37)**(2977)*(0.40)**(3588))
Run Code Online (Sandbox Code Playgroud)
出去:
NaN
Run Code Online (Sandbox Code Playgroud)
因为,分母是0
我认为对数是一个强大的工具来处理指数与大幂(见https://mathworld.wolfram.com/Logarithm.html 中的属性)
您可以尝试先使用log您的数学表达式,然后依次应用exp,即,
result <- exp((10435*log(0.61)+6565*log(0.39)) - (5023*log(0.63)+5412*log(0.60)+ 2977*log(0.37)+3588*log(0.40)))
Run Code Online (Sandbox Code Playgroud)
这使
> result
[1] 0.001219116
Run Code Online (Sandbox Code Playgroud)