[R] How to find inverse of glm model?

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Tue Apr 15 15:10:40 CEST 2025


   If you mean the *link function*, which translates from the data scale 
to the linear predictor scale, you can get it via

b_model$family$linkfun

If you want the cycles at which the signal is equal to 0.5,

eta <- b_model$family$linkfun(0.5)
with(as.list(coef(b_model)), (eta-`(Intercept)`)/Cycles)

You might find the drc package useful as well.

   cheers
    Ben Bolker



On 4/15/25 08:57, Luigi Marongiu wrote:
> I have fitted a glm model to some data; how can I find the inverse
> function of this model? Since I don't know the y=f(x) implemented by
> glm (this works under the hood), I can't define a f⁻¹(y).
> Is there an R function that can find the inverse of a glm model?
> Thank you.
> 
> The working example is:
> ```
> V = c(120.64,    66.14,    34.87,    27.11,    8.87,    -5.8,    4.52,
>     -7.16,    -17.39,
>              -14.29,    -20.26,    -14.99,    -21.05,    -20.64,
> -8.03,    -21.56,    -1.28,    15.01,
>              75.26,    191.76,    455.09,    985.96,    1825.59,
> 2908.08,    3993.18,    5059.94,
>              6071.93,    6986.32,    7796.01,    8502.25,    9111.46,
>   9638.01,    10077.19,
>              10452.02,    10751.81,    11017.49,    11240.37,
> 11427.47,    11570.07,    11684.96,
>              11781.77,    11863.35,    11927.44,    11980.81,
> 12021.88,    12058.35,    12100.63,
>              12133.57,    12148.89,    12137.09)
> df = data.frame(Cycles = 1:35, Values = V[1:35])
> M = max(df$Values)
> df$Norm = df$Values/M
> df$Norm[df$Norm<0] = 0
> b_model = glm(Norm ~ Cycles, data=df, family=binomial)
> plot(Norm ~ Cycles, df, main="Normalized view",
>       xlab=expression(bold("Time")),
>       ylab=expression(bold("Signal (normalized)")),
>       type="p", col="cyan")
> lines(b_model$fitted.values ~ df$Cycles, col="blue", lwd=2)
> ```
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

-- 
Dr. Benjamin Bolker
Professor, Mathematics & Statistics and Biology, McMaster University
Director, School of Computational Science and Engineering
* E-mail is sent at my convenience; I don't expect replies outside of 
working hours.



More information about the R-help mailing list