R 中的线性回归:"Error in eval(expr, envir, enclos) : object not found"



我试图在R中进行一个简单的最小二乘回归,但一直在出错。这真的很令人沮丧,有人能指出我做错了什么吗?

首先,我附加了数据集(17个变量,440个观测值,每个观测值都在一行上,没有列标题)。在这里,我得到一个"屏蔽"错误。根据我所读到的,当对象重叠时,就会出现"屏蔽"错误。然而,在这里我没有使用任何包,而是使用默认包,在此之前我加载了一个新的工作区映像。不确定这个错误指的是什么?

> cdi=read.table("APPENC02.txt", header=FALSE)
> attach(cdi)
The following objects are masked from cdi (position 3):
    V1, V10, V11, V12, V13, V14, V15, V16, V17, V2, V3, V4, V5, V6, V7, V8, V9

接下来,由于数据集没有标题,我使用colnames()命令添加列名,然后使用head()命令检查我的工作:

colnames(cdi)<- c("IDnmbr","Countynm","Stateabv","LandArea","totpop","youngpct","oldpct","actphy","hspbed","srscrime","hsgrad","BAgrad","povpct","unempct","pcincome","totincome","georegion")
> head(cdi)
  IDnmbr    Countynm Stateabv LandArea  totpop youngpct oldpct actphy hspbed srscrime hsgrad BAgrad povpct unempct pcincome totincome georegion
1      1 Los_Angeles       CA     4060 8863164     32.1    9.7  23677  27700   688936   70.0   22.3   11.6     8.0    20786    184230         4
2      2        Cook       IL      946 5105067     29.2   12.4  15153  21550   436936   73.4   22.8   11    etcetc(manually truncated)

现在最烦人的部分是:我无法让lm()函数工作!

> model1=lm(actphy~totpop)
Error in eval(expr, envir, enclos) : object 'actphy' not found

这不是大小写问题,我已经尝试过"actphy"actphy。什么东西?

此外,我下面的手册建议使用attach()函数,但我读过一些不鼓励使用它的帖子。在这种情况下,什么是更好的解决方案?

谢谢!

正如@joran评论的那样,attach是一个危险的东西。举个例子,看看这个简单的代码集:

> x <- 2:1
> d <- data.frame(x=1:2, y=3:4)
> lm(y~x)
Error in eval(expr, envir, enclos) : object 'y' not found
> lm(y~x, data=d)
Call:
lm(formula = y ~ x, data = d)
Coefficients:
(Intercept)            x  
          2            1  
> attach(d)
The following object is masked _by_ .GlobalEnv:
    x
> lm(y~x, data=d)
Call:
lm(formula = y ~ x, data = d)
Coefficients:
(Intercept)            x  
          2            1  
> lm(y~x)
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept)            x  
          5           -1  

使用attach将data.frame放在搜索路径上,这允许您通过不指定data参数来在lm中作弊。然而,这意味着,如果全局环境中有对象的名称与data.frame中的对象冲突,那么可能会发生奇怪的事情,就像上面代码中的最后两个结果一样。

相关内容

最新更新