I have this data set:
x <- c(0, 40, 80, 120, 160, 200)
y <- c(6.52, 5.10, 4.43, 3.99, 3.75, 3.60)
I calculated a linear model using lm():
model <- lm(y ~ x)
I want know the predicted values of x if I have new y values, e.g. ynew <- c(5.5, 4.5, 3.5), but if I use the predict() function, it calculates only new y values.
How can I predict new x values if I have new y values?
Since this is a typical problem in chemistry (predict values from a calibration), package
chemCalprovidesinverse.predict. However, this function is limited to “univariate model object[s] of class lm or rlm with model formula y ~ x or y ~ x – 1.”Warning: This function is quite slow and not suitable, if you need to inverse.predict a large number of values.
If I remember correctly, the neg. SEs occur because the function expects the slope to be always positive. Absolute values of SE should still be correct.