我使用矩阵在R中具有矢量化Q.我有2个Cols需要使用特定索引进行回归。数据是使用矢量化和矩阵的R中的回归
matrix_senttoR = [ ...
0.11 0.95
0.23 0.34
0.67 0.54
0.65 0.95
0.12 0.54
0.45 0.43 ] ;
indices_forR = [ ...
1
1
1
2
2
2 ] ;
在矩阵
Col1中是数据说MSFT和歌(3各自行)和col2上是从基准StkIndex返回,上对应的日期。数据是从Matlab发送的矩阵格式。
我目前使用
slope <- by( data.frame(matrix_senttoR), indices_forR, FUN=function(x)
{zyp.sen (X1~X2,data=x) $coeff[2] } )
betasFac <- sapply(slope , function(x) x+0)
我用data.frame上面我不能用cbind()返回。如果我使用cbind(),那么Matlab会提供一个错误,因为它不理解数据的格式。我从Matlab里面运行这些命令(http://www.mathworks.com/matlabcentral/fileexchange/5051)。您可以用lm
替换zyp
(zyp.sen)。
BY
在这里很慢(可能是因为数据帧?)。有没有更好的方法来做到这一点? 150k行数据需要14secs +。我可以在R中使用矩阵矢量化吗?谢谢。
如果你只是运行一个回归,为什么麻烦将代码从MATLAB传递到R?在统计工具箱里,MATLAB的'regress'函数可以做到这一点。 –
对代码进行一些分析以查看放缓的位置也是一个好主意。您需要知道'by'占用了多少时间,以及您的建模函数多少,以及在MATLAB和R之间传递数据需要多少时间。 –
@Richie - >这是因为我试图做非参数回归,特别是使用zyp库包。我所有的数据都在Matlab中。我唯一的选择是自己设计Theil-Sen Regressor! – Maddy