df <- data.frame(x = c(1,2,NA), y = rep(NA, 3)) # Which column has na? colSums(is.na(df))[colSums(is.na(df)) > 0] # which rows? df[which(rowSums(is.na(df)) > 0),]