我试着通过调用.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
答案 0 :(得分:2)
基本上问题是,因为我首先使用excel文件作为我的数据,所以我将变量命名为包含在第一行中,所以当将它传递给.CSV格式并尝试在R中读取它时,它会转换那些字符作为因素的数据。因此,在尝试进行回归时,它没有数字值。
之后是read.csv中的&#34; dec&#34;参数导致问题并打印相同的错误。删除后输入:
datos <- read.csv("datos3.csv")
我毫无困难地进行了回归,可以分析我想要的数据。 (特别感谢@ user20650帮助我)