使用SAS和R选择变量 - 即使在对数据进行混洗时,所有效果都很重要

时间:2014-11-24 21:03:27

标签: r sas

亲爱的:我需要测试我应该在我的模型中包含哪些影响用于奶牛的遗传评估。我在R中使用以下代码:

model1 = lm(牛奶〜因子(年)+因子(群体)+因子(季节)+年龄+ I(年龄^ 2),数据= paula1) ANOVA(MODEL1)

但是,我的所有效果都非常重要(< 2.2e-16 ***).我使用step(model1)来选择最佳模型,我试图包含其他我从未预料到会产生重大影响的效果。所以我在想我做错了什么。然后我尝试使用以下代码在SAS中使用proc glm:

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

我的结果非常相似。然后我决定排除一些数据并随机播放一些变量,它仍然是重要的。现在我毫不怀疑我的分析是完全错误的,我只是想弄清楚我的错误是什么。对于某些因素(例如,我有超过200个水平的群体),我也缺少数据(在R中编码为NA,在SAS中编码为空白)。输出看起来很好(正方形,自由度等) 任何帮助将非常感谢。谢谢。保

编辑: 不幸的是,我无法共享数据集。但是,它看起来像:

ID year herd season Age    milk
1  2005  3    1      200     250
2  2005  2    2      NA      NA
3  2007  1    3      202     297
4  2006  2    NA     213     215
5  2008  3    2      215     222
6  2005  4    1      217     187
7  2004  5    3      225     165
8  2008  3    2      315     NA
9  2006  2    1      NA      146

我有大约30000次牛奶观察,因子有:4,6,2,3,3,4和216级(还有其他因素我没有在这里显示)。我的文件中也缺少数据(NA)。

R的输出之一:

model1 = lm(WWT~factor(A)+factor(B)+factor(C)+factor(D)+factor(E), data=dataID)                      
anova(modelWWT)
    Analysis of Variance Table

    Response: WWT
                    Df Sum Sq Mean Sq  F value    Pr(>F)
    factor(A)      3  83380   27793  924.340 < 2.2e-16 ***
    factor(B)     5 411082   82216 2734.337 < 2.2e-16 ***
    factor(C)      1  48071   48071 1598.727 < 2.2e-16 ***
    factor(D)     3 129684   43228 1437.672 < 2.2e-16 ***
    factor(E)       7   4816     688   22.879 < 2.2e-16 ***
    Residuals    28737 864067      30
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

0 个答案:

没有答案