R Zastosuj błąd - błąd w as.matrix.data.frame ()
napotykam kłopotliwy błąd. Używam następującej funkcji do usuwania wierszy ramki danych zawierającej obserwację NA w dowolnej kolumnie
##### 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)
}
}
Ta funkcja działa prawidłowo normalnie, na przykład powtarzalnym przykładem jest:
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
Teraz mam ramkę danych zawierającą około 2993 wierszy. Kiedy przekazuję tę ramkę danych za pomocą funkcji, napotykam następujący błąd:
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]
Dziękuję za odpowiedzi,