Determine the number of rows with NAs

前端 未结 5 734
清酒与你
清酒与你 2021-01-22 14:57

I have a data frame as follows:

     col1   col2    col3
 1    23    17      NA
 2    55    NA      NA
 3    24    12      13
 4    34    23      12
相关标签:
5条回答
  • 2021-01-22 15:42

    Another short solution:

    > sum(!complete.cases(dat[-1]))
    [1] 2
    

    where dat is the name of your data frame.

    0 讨论(0)
  • 2021-01-22 15:45
    test <- read.table(textConnection("     col1   col2    col3
    1    23    17      NA
    2    55    NA      NA
    3    24    12      13
    4    34    23      12"))
    
    > table(test$col2,useNA="ifany")
    
      12   17   23 <NA> 
       1    1    1    1 
    > table(test$col3,useNA="ifany")
    
      12   13 <NA> 
       1    1    2 
    
    0 讨论(0)
  • 2021-01-22 15:51
    DF <- read.table(text="     col1   col2    col3
     1    23    17      NA
     2    55    NA      NA
     3    24    12      13
     4    34    23      12", header=TRUE)
    

    This gives the number of rows that contain any NA values in column 2 or 3:

    sum(colSums(is.na(DF[,2:3])) > 0)
    [1] 2
    
    0 讨论(0)
  • 2021-01-22 15:51

    Another solution:

    data <- read.table(text='col1   col2    col3
        23    17      NA
        55    NA      NA
        24    12      13
        34    23      12', header=T)
    
    sum(apply(is.na(data[, -1]), 1, any))
    
    0 讨论(0)
  • 2021-01-22 15:55

    Another solution adding columns 2 and 3:

    > sum(is.na(all[,"col2"] + all[,"col3"]))
    [1] 2
    
    0 讨论(0)
提交回复
热议问题