如何忽略R中的空值?

时间:2010-10-25 19:25:27

标签: r null

我有一个数据集,在一个字段中有一些空值。当我尝试运行线性回归时,它会将字段中的整数视为类别指示符,而不是数字。

,例如,对于不包含空值的字段......

summary(lm(rank ~ num_ays, data=a)),

返回:

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 10.607597   0.019927 532.317  < 2e-16 ***
num_ays      0.021955   0.007771   2.825  0.00473 ** 

但是当我在具有空值的字段上运行相同的模型时,我得到:

Coefficients:
              Estimate Std. Error  t value Pr(>|t|)    

(Intercept)  1.225e+01  1.070e+00   11.446  < 2e-16 ***
num_azs0    -1.780e+00  1.071e+00   -1.663  0.09637 .  
num_azs1    -1.103e+00  1.071e+00   -1.030  0.30322    
num_azs10   -9.297e-01  1.080e+00   -0.861  0.38940    
num_azs100   1.750e+00  5.764e+00    0.304  0.76141    
num_azs101  -6.250e+00  4.145e+00   -1.508  0.13161    

处理此问题的最佳和/或最有效的方法是什么,以及有哪些权衡?

2 个答案:

答案 0 :(得分:3)

您可以忽略空值,如下所示:

a[!is.null(a$num_ays),]

答案 1 :(得分:2)

以Shane的答案为基础:你可以在data=的{​​{1}}参数中使用它:

lm()