Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 17th, 2012  |  syntax: None  |  size: 0.72 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. remove row with nan value
  2. data <- c(1,2,3,4,5,6,NaN,5,9,NaN,23,9)
  3. attr(data,"dim") <- c(6,2)
  4. data
  5.  
  6.      [,1] [,2]
  7. [1,]    1  NaN
  8. [2,]    2    5
  9. [3,]    3    9
  10. [4,]    4  NaN
  11. [5,]    5   23
  12. [6,]    6    9
  13.        
  14. data <- matrix(c(1,2,3,4,5,6,NaN,5,9,NaN,23,9), ncol=2)
  15. data[complete.cases(data), ]
  16.  
  17.      [,1] [,2]
  18. [1,]    2    5
  19. [2,]    3    9
  20. [3,]    5   23
  21. [4,]    6    9
  22.        
  23. data <- matrix(rnorm(100000000), ncol=10000)
  24. idx <- sample(1:10000,100)
  25. idy <- sample(1:10000,100)
  26. data[idx,idy] <- NaN
  27.        
  28. foo <- function(d=data) d[apply(d,2,function(x) any(is.nan(x))),]
  29.        
  30. > system.time(data[complete.cases(data),])
  31.    user  system elapsed
  32.    3.53    0.12    3.65
  33.  
  34. > system.time(foo(data))
  35.    user  system elapsed
  36.    2.37    0.09    2.46