R применить ошибку - ошибка в as.matrix.data.frame ()

Я сталкиваюсь с ошибкой. я использую следующую функцию, чтобы удалить строки кадра данных, содержащих наблюдения NA в любом столбце

##### 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)
  }
}

Эта функция работает нормально, например, воспроизводимый пример:

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

Теперь у меня есть фрейм данных, содержащий около 2993 строк. Когда я передаю этот фрейм данных через функцию, я сталкиваюсь со следующей ошибкой:

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]

Спасибо за ответы,