0

我想在经典表面积与体积关系上使用幂函数。

surfaceArea<-c(6,24,54)
volume<-c(1,8,27)

记录数据可以得到线性函数的参数值,如下所示

logSurfaceArea<-log10(surfaceArea)
logVolume<-log10(volume)

plot(logSurfaceArea~logVolume, pch =16)
allometryModel <-lm(logSurfaceArea~logVolume)
summary(allometryModel)

但是如何获取原始幂函数的参数值呢?

4

1 回答 1

1

一种方法是使用数学思维方式。假设y是 surfaceArea 并且x是体积,那么您与lm函数配合的是:

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

然后

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

你可以检查它绘制这些图:

 plot(volume, volume^allometryModel$coeff[2]*10.0^allometryModel$coeff[1], col="red")
 plot(volume, surfaceArea)

请注意,如果您想使用lm函数提供的系数误差,则需要正确传播误差。

于 2016-02-17T12:08:19.250 回答