📜  将线性模型拟合到 R 编程中的数据集 – glm()函数

📅  最后修改于: 2022-05-13 01:54:56.709000             🧑  作者: Mango

将线性模型拟合到 R 编程中的数据集 – glm()函数

R 语言中的glm()函数用于将线性模型拟合到数据集。这里,glm 代表广义线性模型。

示例 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


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


输出:

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

示例 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

输出:

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