gpt4 book ai didi

r - 二项式,二项式()和 'binomial'之间的区别

转载 作者:行者123 更新时间:2023-12-02 08:28:05 25 4
gpt4 key购买 nike

使用 glm 时,binomial、binomial() 和 'binomial' 之间有什么区别。它们并不相同,如以下代码所示:

> library(MASS)
> bwdf = birthwt[-10]
> mod = glm(low~., data=bwdf, family=binomial)
> mod2 = glm(low~., data=bwdf, family=binomial())
> mod3 = glm(low~., data=bwdf, family="binomial")
> identical(mod, mod2)
[1] FALSE
> identical(mod3, mod2)
[1] FALSE
> identical(mod3, mod)
[1] FALSE

但值是相同的:

> mod

Call: glm(formula = low ~ ., family = binomial, data = bwdf)

Coefficients:
(Intercept) age lwt race2 race3 smoke1 ptl ht1 ui1 ftv
0.48062 -0.02955 -0.01542 1.27226 0.88050 0.93885 0.54334 1.86330 0.76765 0.06530

Degrees of Freedom: 188 Total (i.e. Null); 179 Residual
Null Deviance: 234.7
Residual Deviance: 201.3 AIC: 221.3
>
> mod2

Call: glm(formula = low ~ ., family = binomial(), data = bwdf)

Coefficients:
(Intercept) age lwt race2 race3 smoke1 ptl ht1 ui1 ftv
0.48062 -0.02955 -0.01542 1.27226 0.88050 0.93885 0.54334 1.86330 0.76765 0.06530

Degrees of Freedom: 188 Total (i.e. Null); 179 Residual
Null Deviance: 234.7
Residual Deviance: 201.3 AIC: 221.3
>
> mod3

Call: glm(formula = low ~ ., family = "binomial", data = bwdf)

Coefficients:
(Intercept) age lwt race2 race3 smoke1 ptl ht1 ui1 ftv
0.48062 -0.02955 -0.01542 1.27226 0.88050 0.93885 0.54334 1.86330 0.76765 0.06530

Degrees of Freedom: 188 Total (i.e. Null); 179 Residual
Null Deviance: 234.7
Residual Deviance: 201.3 AIC: 221.3

有什么区别吗?

最佳答案

请记住,identical 函数非常挑剔,mod 对象的那部分是用于创建对象的调用。该 call 部分将根据括号和引号而有所不同,因此 identical 会说它们不同。尝试对您关心的 mod 对象的片段调用 identical,看看它们是否相同。

如果你看一下 glm 代码的前几行,你会发现它检查了 family 参数,如果它是一个字符串,那么它使用get“获取”那个名字的函数。如果 family 是一个函数(传入或作为 get 的结果),则它会调用该函数。因此,无论您将名称作为字符串、函数还是函数的评估结果传入,在代码的第一部分之后,您将在 family 中拥有完全相同的内容,因此相同结果(但 call 会有所不同)。

关于r - 二项式,二项式()和 'binomial'之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30128300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com