eval(expr,envir,enclos)中的错误:object' RM'未找到

时间:2015-11-14 16:12:48

标签: r excel csv

我试着通过调用.CSV文件来做一个简单的线性回归,其中我有14个不同的变量......这些变量首先在Excel文件中。 在Excel中,我通过在数据上方放置一个名称来命名变量,但我真的不相信这意味着用该变量命名整个列。 (当然我首先从R中调用.CSV文件:

> datos<-read.table("datos3.csv",header=T,sep=";",dec=",")

所以这就是为什么当我在R中用名字称呼它们时:

 regresion<-lm(RM~MEDV) 
 R says: Error in eval(expr, envir, enclos) : object 'RM' not found

我觉得奇怪的是,当我改变变量的顺序(比如MEDV~RM)时,我得到了同样的错误,但是说这次没有找到MEDV。是因为它是第一个读取和检测的东西吗?

有没有办法从Excel或R我可以命名变量让我调用它们没有错误或在其他地方是问题?

更新代码

 rm(list=ls())
 datos<-read.table("datos3.CSV",header=T,sep=";",dec=",")
 View(datos)
 regresion<-lm(MEDV,RM,data=datos)

在此之后我得到了

  Error in stats::model.frame(formula = MEDV, data = datos, subset = RM,  : 
  object 'MEDV' not found

1 个答案:

答案 0 :(得分:2)

基本上问题是,因为我首先使用excel文件作为我的数据,所以我将变量命名为包含在第一行中,所以当将它传递给.CSV格式并尝试在R中读取它时,它会转换那些字符作为因素的数据。因此,在尝试进行回归时,它没有数字值。

之后是read.csv中的&#34; dec&#34;参数导致问题并打印相同的错误。删除后输入:

datos <- read.csv("datos3.csv")

我毫无困难地进行了回归,可以分析我想要的数据。 (特别感谢@ user20650帮助我)