我需要测试应该在奶牛遗传评估模型中包含哪些效应。在 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 http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_glm_sect001.htm适用于 SAS,来自官方网站:“GLM 过程使用最小二乘法来拟合一般线性模型”。 SAS 中 GML 的缩写一般线性模型。这些与广义线性模型这就是 R 中 GML 函数的计算结果。
This http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_glm_sect001.htm对于 R 中的 glm 函数:“广义线性模型与普通线性模型一样容易在 R 中拟合。事实上,它们只需要一个附加参数来指定方差和链接函数。
拟合广义线性模型的基本工具是glm函数,其一般结构如下:
glm(formula, family, data, weights, subset, ...)
"
一般来说,一般线性模型使用普通最小二乘法进行参数估计,而广义线性模型使用最大似然估计进行参数估计。广义线性模型还“允许线性模型通过链接函数与响应变量相关,并允许每个测量的方差大小是其预测值的函数。(摘自维基百科)here http://en.wikipedia.org/wiki/Generalized_linear_model)"
为了结束我的长篇演讲,你需要使用的是lm http://stat.ethz.ch/R-manual/R-patched/library/stats/html/lm.htmlR 中的函数对于 ANOVA 表将给出与 SAS 中的 GLM 包相同的结果。对于 III 类错误,请检查 joran 和 BondedDust 的准确评论。
希望能帮助到你!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)