2016-04-03 17 views
0

Ich habe dieses Setup: eine m-Vektor und eine m-by-n-Matrix.Finden Sie Unterschiede zwischen Matrix-Spalten und Vektor

v = c(1,2,3) 
M = matrix(c(1,2,3,1,2,4), nrow = 3) 

Ich möchte eine Matrix erstellen A, deren Werte A[i,j] sind 0, wenn M[i,j] == v[i] und 1 sonst. . So sollte es die Orte zu finden, wo die Spalten von M von v unterscheiden

Ich habe Sachen versuchen, wie:

A = apply(M, 2, != v) 

aber das gibt

Error: unexpected '!=' in "apply(M, 2, !=" 
+1

'FUN = '! ='' Aber Sie können ohne 'apply() ':' M! = V' mit der Recycling-Regel – jogo

+0

@jogo Super. Vielen Dank. – Hatshepsut

Antwort

2
A <- apply(M, 2, FUN='!=', y=v) 

Aber man kann ohne apply():

A <- (M!=v) 

mit der Recycling-Regel

Verwandte Themen