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

InformationsquelleAutor sbg | 2011-09-16
Schreibe einen Kommentar