offset, porque el coeficiente es 1 necesariamente

Estos días me han preguntado sobre un modelo lineal tal que y \sim x_1 + \dots donde el coeficiente de x_1 no se entiende si no es igual a 1. Es como si los datos se creasen de la forma

n <- 100

x1 <- rnorm(n)
x2 <- rnorm(n)

y <- x1 + rnorm(n, .1) + .02 * x2

y se conociese el coeficiente de x_1 y no el de x_2. Entonces no tiene sentido plantear el modelo

lm(y ~ x1 + x2)

sino más bien

modelo <- lm(y ~ offset(x1) + x2)

que hace lo que uno espera. Lo cual se puede comprobar, por ejemplo, comparando

head(predict(modelo))
head(x1 + coefficients(modelo)[1] + x2 * coefficients(modelo)[2])