2016-05-04 5 views
2

私は行列mとベクトルv1を持っています。各行の要素をベクトルv1の対応する要素と比較して、< =その1つの数値であるかどうかを確認します。私は試しました:行列のi行目の要素はvecotorのi番目の要素です。

しかし、それはすべての要素を各行とv1ベクター全体と比較することになります。これは私が望むものではありません。行全体は、v1の1つの要素からv1の1つの要素へと比較されるべきです。同様に評価するであろう、その行の4:例えば第i行の第4要素の「>」比較が真のすべての要素1と評価された場合に

set.seed(20) 
matrix(sort(sample(50,25)),nrow=5) 
v1 <- c(16,11,38,41,29) 

注各行の要素は、ソートされます。

v1の第1行目と第3行目の比較結果は、TTTFFに、2行目のTTFFFFは3と11だけが< = 11であるため、3行目はTTTTFになります。あなたのベクトルの長さとして

+1

はそうではありません 'メートル<= v1'のですか? – SymbolixAU

+0

@Symbolix - 単純ですが、行列は列の順序で塗りつぶされるので、基本的な比較はうまくいくはずです。 – thelatemail

+0

@thelatemail - 明確にしてくれてありがとう); **間違っていた理由を理解しようとしていた... – SymbolixAU

答えて

3

はあなたの行列の行数と同じであり、単純な比較はここで働いてます

set.seed(20) 
m <- matrix(sort(sample(50,25)),nrow=5) 
v1 <- c(16,11,38,41,29) 

m <= v1 


#  [,1] [,2] [,3] [,4] [,5] 
# [1,] TRUE TRUE TRUE FALSE FALSE 
# [2,] TRUE TRUE FALSE FALSE FALSE 
# [3,] TRUE TRUE TRUE TRUE FALSE 
# [4,] TRUE TRUE TRUE TRUE FALSE 
# [5,] TRUE TRUE TRUE FALSE FALSE 
関連する問題