Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R有lm功能问题的新手_R_Lm - Fatal编程技术网

R有lm功能问题的新手

R有lm功能问题的新手,r,lm,R,Lm,我有以下代码来获取一组数据的famafrench回归: #Regression ff_reg = lm(e25 ~ rmrf+smb+hml, data=dat); 但是,我一直得到变量e25的错误无效类型列表 e25在程序的前面定义为从由25列组成的矩阵中减去“rf”得到的一组数据: e25 = (dat[,7:31]) - dat$rf; 其中dat是读入R的CSV文件,rf是该文件中的一列 为什么会出现此错误?我如何解决它 根据建议,以下是我正在运行的完整代码 dat = read.c

我有以下代码来获取一组数据的famafrench回归:

#Regression
ff_reg = lm(e25 ~ rmrf+smb+hml, data=dat);
但是,我一直得到变量e25的错误无效类型列表

e25在程序的前面定义为从由25列组成的矩阵中减去“rf”得到的一组数据:

e25 = (dat[,7:31]) - dat$rf;
其中dat是读入R的CSV文件,rf是该文件中的一列

为什么会出现此错误?我如何解决它

根据建议,以下是我正在运行的完整代码

dat = read.csv("ff2014.csv", as.is=TRUE);

##excess portfolio returns
e25 = (dat[,7:31]) - dat$rf;
#print(e25);

#Regression
ff_reg = lm(e25 ~ rmrf+smb+hml, data=dat);
print(summary(ffreg));
从helplm:

如果响应是矩阵,则通过最小二乘法分别对矩阵的每列拟合线性模型

因此,如果您打算这样做,则需要在调用lm之前将data.frame制作成矩阵:


您不应该在dat矩阵中将e25结果作为一个新列附加吗?在简单的线性回归中,您需要一个响应。听起来您试图将25列作为响应。这不是一个简单的线性模型。你到底想做什么样的回归。您真的应该包含一个,这样我们就知道您的数据实际上是什么样子,并且可以自己运行代码来查看错误的来源。@duffymo e25的结果是25列宽的,这会使它变得不方便吗?同样,如果我这样做的话,lm函数中公式中等号的LHS会是什么?对不起,我错过了。LHS上的25列没有意义。e25应该是单个变量。您的e25似乎是一个包含25个不同变量的数据帧。对于回归,因变量e25应该是单列向量
e25 <- as.matrix(e25)