So identifizieren Sie die Spalten sind nicht "NA" pro Zeile in einer matrix?
Ich habe eine matrix mit 12 Zeilen und 77 Spalten, sondern einfach können Sie verwenden:
p <- matrix(NA,5,7)
p[1,2]<-0.3
p[1,3]<-0.5
p[2,4]<-0.9
p[2,7]<-0.4
p[4,5]<-0.6
Möchte ich wissen, welche Spalten nicht "NA" pro Zeile, also das, was ich lernen möchte, wäre so etwas wie:
[1] 2,3
[2] 4
[3] 0
[4] 5
[5] 0
aber wenn ich > which(p[]!="NA")
bekomme ich [1] 6 11 17 24 32
Versuchte ich mit einem loop:
aux <- matrix(NA,5,7)
for(i in 1:5) {
aux[i,]<-which(p[i,]!="NA")
}
aber ich bekomme nur eine Fehlermeldung: number of items to replace is not a multiple of replacement length
Gibt es eine Möglichkeit, dies zu tun? Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Ich denke das ist einfach so informativ und wahrscheinlich mehr als nützlich, die Ausgabe, die du angegeben, Aber wenn man wirklich wollte, dass die Liste version, dann könnte dieser verwendet werden:
Oder sogar mit smushing zusammen mit der paste:
Die Ausgabe von
which
Funktion die vorgeschlagene Methode liefert die Zeile und Spalte, der ungleich null (WAHR) Standorte der logischen tests:Ohne die
arr.ind
parameter der nicht-Standard-STIMMT, man bekommt nur die "Vektor-Ort" bestimmt, mit der column-major ordering die R hat als Konvention. R-Matrizen sind nur "gefaltet Vektoren".""
anstatt der unhandlichen 'integer(0)'.