Этот ответ полностью основан на ответе пользователя @MattB.
logest <- function(y, x, ...){
if(missing(x) || is.null(x)) x <- seq_along(y)
result <- lm(log(y) ~ x, ...)
exp(coef(result))
}
data <- 2:7
logest(data)
#(Intercept) x
# 1.758076 1.277307
В этом втором примере используются данные примера в ссылке на вопрос. Результаты совпадают с результатами, опубликованными там.
x <- 11:16
y <- c(33100, 47300, 69000, 102000, 150000, 220000)
logest(y, x)
#(Intercept) x
# 495.304770 1.463276