GeeksforGeeks App
Open App
Browser
Continue

# Fitting Linear Models to the Data Set in R Programming – glm() Function

glm() function in R Language is used to fit linear models to the dataset. Here, glm stands for a generalized linear model.

Syntax: glm(formula)
Parameters:
formula: specified formula

Example 1:

## Python3

 `# R program to illustrate``# glm function` `# R growth of orange trees dataset``Orange` `# Putting age, Tree, circumference into the R search path``attach(Orange)` `# Calling glm() function``g <``-` `glm(circumference ~ age ``+` `Tree)``g`

Output:

```   Tree  age circumference
1     1  118            30
2     1  484            58
3     1  664            87
4     1 1004           115
5     1 1231           120
6     1 1372           142
7     1 1582           145
8     2  118            33
9     2  484            69
10    2  664           111
11    2 1004           156
12    2 1231           172
13    2 1372           203
14    2 1582           203
15    3  118            30
16    3  484            51
17    3  664            75
18    3 1004           108
19    3 1231           115
20    3 1372           139
21    3 1582           140
22    4  118            32
23    4  484            62
24    4  664           112
25    4 1004           167
26    4 1231           179
27    4 1372           209
28    4 1582           214
29    5  118            30
30    5  484            49
31    5  664            81
32    5 1004           125
33    5 1231           142
34    5 1372           174
35    5 1582           177

Call:  glm(formula = circumference ~ age + Tree)

Coefficients:
(Intercept)          age       Tree.L       Tree.Q       Tree.C       Tree^4
17.3997       0.1068      39.9350       2.5199      -8.2671      -4.6955

Degrees of Freedom: 34 Total (i.e. Null);  29 Residual
Null Deviance:        112400
Residual Deviance: 6754     AIC: 297.5```

Example 2:

## Python3

 `# R program to illustrate``# glm function` `# Initializing some vectors``A <``-` `c(``0``, ``1``, ``2``, ``3``)``B <``-` `c(``2``, ``4``, ``6``, ``8``)``Y <``-` `c(``0.1``, ``0.2``, ``0.3``, ``0.4``)` `# Creating data from``my_data <``-` `data.frame(A, B, Y)` `# Putting above data into the R search path``attach(my_data)` `# Calling glm() function``x <``-` `glm( Y ~ A ``+` `B ``+` `A ``*` `B)``x`

Output:

```Call:  glm(formula = Y ~ A + B + A * B)

Coefficients:
(Intercept)            A            B          A:B
1.000e-01    1.000e-01           NA    1.418e-17

Degrees of Freedom: 3 Total (i.e. Null);  1 Residual
Null Deviance:        0.05
Residual Deviance: 2.542e-32     AIC: -277.2
The following objects are masked _by_.GlobalEnv:

A, B, Y```

My Personal Notes arrow_drop_up