# Predict fails for simple case of GLM?

**URL:** https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102
**Category:** General Usage
**Tags:** question, glm
**Created:** [January 5, 2022, 7:50pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102 "2022-01-05T19:50:22Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)
#### Post date: [January 5, 2022, 7:50pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/1 "2022-01-05T19:50:22Z")

</div>

I am trying a simple example using the ISLR dataset

`ols = lm(@formula(sales ~ TV + radio + newspaper), adsData)`

this works OK:

``StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}}}}, Matrix{Float64}}

sales ~ 1 + TV + radio + newspaper

Coefficients:  
────────────────────────────────────────────────────────────────────────────  
Coef. Std. Error t Pr(\>|t|) Lower 95% Upper 95%  
────────────────────────────────────────────────────────────────────────────  
(Intercept) 2.93889 0.311908 9.42 \<1e-16 2.32376 3.55402  
TV 0.0457646 0.0013949 32.81 \<1e-80 0.0430137 0.0485156  
radio 0.18853 0.00861123 21.89 \<1e-53 0.171547 0.205513  
newspaper -0.00103749 0.00587101 -0.18 0.8599 -0.012616 0.010541  
────────────────────────────────────────────────────────────────────────────``

but

`predict(ols)`  
fails:

`MethodError: no method matching predict(::StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}}}}, Matrix{Float64}}) Closest candidates are: predict(::Any, ::Any, ::Any) at In[8]:1 `

I would be grateful for any insights.

PS there could be missing values

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [January 5, 2022, 7:53pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/2 "2022-01-05T19:53:34Z")

</div>

Works fine for me

```julia
julia> using DataFrames, GLM;
julia> adsData = DataFrame(sales = rand(100), TV = rand(100), radio = rand(100), newspaper = rand(100));

julia> ols = lm(@formula(sales ~ TV + radio + newspaper), adsData);
julia> predict(ols);

```

can you provide an MWE?

---

<div class="post-metadata">

### Author: ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)
#### Post date: [January 5, 2022, 7:54pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/3 "2022-01-05T19:54:32Z")

</div>

> [@pdeffebach](#):
>
> can you provide an MWE?

Hi. Sorry, I don’t know that acronym  
[thanks for taking a look, though]

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [January 5, 2022, 7:55pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/4 "2022-01-05T19:55:58Z")

</div>

Please read [this post](https://discourse.julialang.org/t/please-read-make-it-easier-to-help-you/14757) for advice on how to ask a better question.

---

<div class="post-metadata">

### Author: ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)
#### Post date: [January 5, 2022, 7:57pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/5 "2022-01-05T19:57:57Z")

</div>

> [@pdeffebach](#):
>
> Works fine for me

Have you filtered out missing values? [there aren’t any]

---

<div class="post-metadata">

### Author: ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)
#### Post date: [January 5, 2022, 8:07pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/6 "2022-01-05T20:07:27Z")

</div>

In a good question, we should be able to copy-paste your code into the repl and get the same error that you are asking about.

Please provide code that reproduces the error you are getting. If the error happens due to missing values in the data, then provide code that generates data with missing values.

---

<div class="post-metadata">

### Author: ![compleat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/compleat/32/8958_2.png) [@compleat](https://discourse.julialang.org/u/compleat)
#### Post date: [January 5, 2022, 8:09pm UTC](https://discourse.julialang.org/t/predict-fails-for-simple-case-of-glm/74102/7 "2022-01-05T20:09:52Z")

</div>

> [@pdeffebach](#):
>
> Works fine for me

Thanks for this assurance. Knowing that it had worked for you helped me find (someone else’s overloading error).

Apologies. I will try to present questions in a better format next time.  
Still, your input helped here.  
Thanks!

This error is probably worth noting, because it is from a Notebook from the standard translation of ISLR into Julia - Chapter 3. In the notebook there is a macro defined called ‘predict’ which overloads the standard ‘predict’ function. If the name of the macro is changed, there is no overloading, and everything works fine.
