我使用矩陣在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