library(dplyr)
library(ggplot2)
df <- data.frame(poro = c(12.8, 20.77, 18.74, 19.44, 14.36),
perm = c(18.01, 44.31, 78.84, 20.49, 36.98),
R40 = c(3.24, 3.42, 4.80, 2.60, 8.79))
mod <- nls(perm ~ 10^((R40 - A1 + A3 * log10(poro)) / A2), data = df)
## Warning in nls(perm ~ 10^((R40 - A1 + A3 * log10(poro))/A2), data = df): No starting values specified for some parameters.
## Initializing 'A1', 'A3', 'A2' to '1.'.
## Consider specifying 'start' or using a selfStart model
# , start = list(A1 = 0.3, A2 = 0.582, A3 = 0.680))
params <- mod$m$getPars()
df %>%
mutate(perm_mod = mod$m$predict(),
perm_mod2 = 10^((R40 - params[1] + params[3] * log10(poro)) / params[2]))
## poro perm R40 perm_mod perm_mod2
## 1 12.80 18.01 3.24 4.368954 0.1697108
## 2 20.77 44.31 3.42 56.956045 0.1883677
## 3 18.74 78.84 4.80 51.691788 0.2008824
## 4 19.44 20.49 2.60 31.176266 0.1769087
## 5 14.36 36.98 8.79 45.901498 0.2433999
porque salen diferentes????
df %>%
mutate(perm_mod = mod$m$predict()) %>%
ggplot(aes(x = perm, y = perm_mod)) +
geom_point() +
geom_abline(linetype = 2) +
scale_x_log10() +
scale_y_log10()