-1
Ich erstellte eine 6 x 10 Matrix von zufälligen Ganzzahlen. Ich muss die Zeilen ermitteln, die genau 2 Vorkommen der Zahl 1 enthalten, mit welcher Funktion.Verwendung der Funktion in R-Sprache
Ich erstellte eine 6 x 10 Matrix von zufälligen Ganzzahlen. Ich muss die Zeilen ermitteln, die genau 2 Vorkommen der Zahl 1 enthalten, mit welcher Funktion.Verwendung der Funktion in R-Sprache
eine Probenmatrix:
set.seed(47)
mat <- matrix(rpois(60, 2), 6, 10)
mat
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 5 1 1 0 3 3 1 2 1 0
## [2,] 1 2 2 2 1 1 5 4 3 2
## [3,] 3 2 2 1 0 2 2 1 1 0
## [4,] 3 4 4 2 0 1 3 1 3 0
## [5,] 2 1 1 2 2 4 0 2 0 2
## [6,] 3 3 0 0 3 2 1 5 0 2
Jetzt
mat == 1
) ist,rowSums
die TRUE
s zu zählen,which
t o erhält die Indizesso
which(rowSums(mat == 1) == 2)
## [1] 4 5
Es ist einfacher, Ihnen zu helfen, wenn Sie ein [reproduzierbares Beispiel] liefern (http://stackoverflow.com/questions/5963269/how-to-make-a -groß-r-reproduzierbar-Beispiel) mit Beispiel-Eingabedaten. Warum die Anforderung, dass 'which()' verwendet werden muss? Möchten Sie die übereinstimmenden Zeilenindizes zurückgeben? Was genau ist die gewünschte Ausgabe? – MrFlick
'was (rowSums (mat == 1) == 2)' – alistaire
Und 'which' wird nicht einmal benötigt, wenn Sie nur eine Teilmenge tun 'mat [rowSums (mat == 1) == 2,]' wird gut genug sein. – thelatemail