2017-09-24 65 views
0

我已经给出了一个数据集并将值输入到R.对于赋值问题,您需要复制以下等式:y = 0.08x^0.75。有没有办法在R中获得反对数?

为了把它变成一个适合y = Bo + B1x的等式,我使用下面的代码取两边的log10。

fit <- lm(log10(Predator_Biomass)~log10(Prey_Biomass)) 
summary(fit) 

由此我能够获得:Y = -1.1050 + 0.7450x

现在我已经指示,我需要双方的反对数,使得博时价值将匹配0.08或者有点类似。 R中是否有反对数函数可以对此有所帮助?任何信息都有帮助。

编辑:显然,作为答案提供的一切只采取了反系数的对数,而不是整个方程。有没有办法在R中取反方程的反对数?

+1

'10^-1.1050'返回'0.07852356'。 –

+0

Rui Barradas和d.b:感谢您的帮助!当我这样做: round(10 ^(fit $ coefficients),2) 它给了我一个不同的B1值,它不适合模型 –

+0

也许'10^coef(fit)',如果这样做工作,'圆'。 –

回答

0

这实际上是一个数学问题,而不是计算问题。如果您符合双对数回归如下:

fit <- lm(log10(Predator_Biomass)~log10(Prey_Biomass)) 

的基本公式是

log10(y) = a+b*log10(x) 

提高10双方给出:

y = 10^(a+b*log10(x)) = 10^a * 10^(b*log10(x)) = 10^a * (10^log10(x))^b 
    = 10^a * x^b 

参数ab是线性模型的第一和第二系数。如果你想恢复y = c*x^b的参数,你需要反对截获(10^(coef(fit)[1])),但指数b应该没有转换的罚款(coef(fit)[2])。

+0

非常感谢!这一切都是有道理的,并且确实可以输出正确的Bo,但是根据我的TA,我仍然需要能够进行方程的反对,以便我可以得到具有SE(Bo)的总结,然后可以用它来确定CI的。我目前使用的SE(Bo)是:lm(log10(Predator_Biomass)〜log10(Prey_Biomass)) 这是不正确的,因为Bo是-1.1050。 –

+0

你应该问你的电讯局长澄清/澄清你的问题。你想要*预测值*的置信区间吗? –

相关问题