2017-09-26 8 views
0

Angenommen, ich habe diese Matrixr Zeilennamen Auswahl mit Spalten

 
     0 1 2 3 4 5 6 98 183 385 419 420 422 423 469 470 35698 35709 35729 37415 
0  0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0  0  0  0  1 
1  1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0  0  0  0  0 
2  1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0  0  0  0  0 
3  1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0  1  0  0  1 
4  0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1  0  1  1  0 
5  0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1  0  0  1  0 
6  1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0  0  0  0  0 
98 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1  0  0  1  0 
183 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0  0  0  0  1 
385 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0  0  0  0  0 
419 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0  1  1  0  0 
420 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0  1  1  0  0 
422 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0  0  0  0  1 
423 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0  0  0  0  1 
469 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0  0  0  0  1 
470 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0  0  0  1  0 
35698 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0  0  0  0  0 
35709 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0  0  0  0  0 
35729 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1  0  0  0  0 
37415 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0  0  0  0  0 

Ich bin ein Wert aus einem anderen Programm bringt uns x = 3 sagen lassen.

Ich möchte den Namen der Zeilen wählen, wo x == 1 heißt, wenn der Wert von 3 1.

Ausgang wird sein: 0,2,4,5,98,183,419,420,422,423,35698,37415. Und ich möchte nicht "3" direkt in den Befehl übergeben. Ich möchte die Variable x übergeben, so dass, wenn diese Zahl variiert, ich die Ausgabe entsprechend erhalten könnte.

Kann mir bitte jemand helfen? Vielen Dank im Voraus

+0

Können Sie Ihre erwartete Ausgabe bereitstellen? Ich bin verwirrt, was genau du suchst. –

+2

Angenommen, Sie möchten die Zeilen, in denen die Spalte '' 3'' gleich 1 ist, 'rownames (diese_Matrix) [this_matrix [,' 3 '] == 1] '. – Gregor

+0

Wird diese Matrix mit dem Befehl 'matrix' erstellt? –

Antwort

1
x=matrix(c(1,1,2,5,6,6,5,7,7,8,3,3,1,9,20,20,4,7,9,5),4,5,dimnames = list(c(letters[1:4]),c(LETTERS[1:5]))) 

you'r Anforderung Zeilennamen ist dann

rownames(x)[x[,"D"]==20] 

hier '20' ist you'r Eingangswert und D you'r Suchspalte.

Verwandte Themen