gpt4 book ai didi

r - 使用 R 的过程 GLM (SAS)

转载 作者:行者123 更新时间:2023-12-02 07:31:16 27 4
gpt4 key购买 nike

我需要测试我应该在奶牛遗传评估模型中包含哪些效应。在 SAS 中,我会使用 proc GLM。 SAS 代码为:

data paula1; set paula0;
proc glm;
class year herd season;
model milk= year herd season age age*age;
run;

我的 R 代码是:

model1 = glm(milk ~ factor(year) + factor(herd) + factor(season) + age + I(age^2), data=paula1)
anova(model1)

我怀疑有什么问题,因为所有影响在统计上都是显着的,即使我包括与该特征无关的其他影响。我没有 SAS 许可证来比较结果。我的 R 代码正确吗? R 中的 glm 是否表示类型 3 平方和(对于 SAS 中表示的不平衡数据)?在这种情况下使用 lm 有什么区别吗?提前致谢。宝拉

最佳答案

这是 SAS 和 R 用户之间非常常见的错误。

SAS 中的 glm 包与 R 中的 glm 函数不同,我在下面解释。

This适用于 SAS,来自官方网站:“GLM 过程使用最小二乘法来拟合一般线性模型”。 SAS 中的 GML 是通用线性模型的缩写。这些与 R 中 GML 函数计算的广义线性模型完全不同。

This对于 R 中的 glm 函数:“广义线性模型与普通线性模型一样容易在 R 中拟合。事实上,它们只需要一个附加参数来指定方差和链接函数。拟合广义线性模型的基本工具是glm函数,其一般结构如下:

glm(公式、族、数据、权重、子集...)"

一般来说,一般线性模型使用普通最小二乘法进行参数估计,而广义线性模型使用最大似然估计进行参数估计。广义线性模型还“允许线性模型通过链接函数与响应变量相关,并允许每个测量的方差大小是其预测值的函数。(摘自维基百科here)”

要结束我的长篇演讲,您需要使用 lm R 中的函数对于 ANOVA 表将给出与 SAS 中的 GLM 包相同的结果。对于 III 类错误,请检查 joran 和 BondedDust 的准确注释。

希望对你有帮助!

关于r - 使用 R 的过程 GLM (SAS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27083586/

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