R Fehler anwenden - Fehler in as.matrix.data.frame ()
Ich stoße auf einen verwirrenden Fehler. ich benutze die folgende Funktion, um Zeilen eines Datenrahmens zu löschen, der eine NA-Beobachtung in irgendeiner Spalte enthält
##### removes NA'd rows from a dataFrame
wipeNArows<-function(X){
rowsToDelete<-unique(unlist(apply(apply(X,2,is.na),2,which)))
if (length(rowsToDelete)>0){
return (X[-rowsToDelete,])
}
else{
return (X)
}
}
Diese Funktion funktioniert normal. Ein reproduzierbares Beispiel ist beispielsweise:
testFrame<-data.frame(x=rpois(20,10),y=rpois(20,10),z=rpois(20,10))
rowsToDelete<-sample(1:nrow(testFrame),5,FALSE)
testFrame$x[rowsToDelete]<-NA
testFrame
wipeNArows(testFrame) ### removes the rows where NA is encountered
Jetzt habe ich einen Datenrahmen, der ungefähr 2993 Reihen enthält. Wenn ich diesen Datenrahmen durch die Funktion leite, stoße ich auf den folgenden Fehler:
Error in apply(apply(X, 2, is.na), 2, which) :
error in evaluating the argument 'X' in selecting a method for function 'apply': Error in as.matrix.data.frame(X) :
dims [product 14965] do not match the length of object [14974]
Danke für die Antworten,