2013-05-09 140 views
4

我想將矩陣的列元素與相應的向量列進行比較。R矩陣向量比較

因此,例如,

>ret 

        TLT   VTI 
1995-01-20 -0.005649718 -0.004461441 
1995-01-23 -0.002840909 0.002560820 
1995-01-24 0.000000000 0.000000000 
1995-01-25 0.005698006 0.003831418 
1995-01-26 0.000000000 0.001908397 


>compare.vec 
[1] -0.001 -0.002 

我想是每一個歸元在RET 1列與-0.001,找到哪一個是比-0.001更小。對於第二列反之亦然,將其與-0.002進行比較並發現VTI中的元素少於此值。

我試過子集,但它似乎不是一個矢量,而是一個數字。我需要將列循環列嗎?

感謝,

+0

你只是想比較還是用-0.001和-0.002取代那些值? – Arun 2013-05-09 19:09:12

+0

nope,只需要返回布爾矩陣。第一列的元素小於-0.001,第二列的元素爲-0.002。 – user1234440 2013-05-09 19:12:11

回答

8

所有你需要做的是:

t(t(ret) < compare.vec) 

編輯基於從阿倫評論。

+4

很好的嘗試使用回收。但是,我認爲這還不算正確。試試ex:'ret Arun 2013-05-09 19:06:27

+0

第一個應該包含2個FALSE,因爲該列中的前兩個元素小於-0.001 ... – user1234440 2013-05-09 19:14:34

+0

@阿倫啊,我有恐懼會發生......應該檢查它。更新你的想法。 – Thomas 2013-05-09 19:16:06