I would like to know how to find the number of missing values in a column using apply and is.na. the result should look like the image below.
            Asked
            
        
        
            Active
            
        
            Viewed 39 times
        
    0
            
            
        - 
                    2Please provide the data using `dput()` in your post. – Ed_Gravy Nov 17 '22 at 19:45
- 
                    It's easier to help you if you include a simple [reproducible example](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) with sample input and desired output that can be used to test and verify possible solutions. Please [do not post code or data in images](https://meta.stackoverflow.com/q/285551/2372064) – MrFlick Nov 17 '22 at 19:52
- 
                    Does this answer your question? [How to count number of rows with NA on each column?](https://stackoverflow.com/questions/63924532/how-to-count-number-of-rows-with-na-on-each-column) – Martin Gal Nov 17 '22 at 19:56
- 
                    Try `sapply(df, \(x) sum(is.na(x)))`, where `df` is the name of your data.frame. – Martin Gal Nov 17 '22 at 19:57
- 
                    try `colSums(is.na(df))` – Onyambu Nov 17 '22 at 20:10
1 Answers
1
            
            
        Using some sample data since I don't have access to imgur so, I can't see the data provided, thus we can use:
Method 1
library(tidyverse)
# Create dummy data
id = c(1,2,3,4,5,6)
val = c(1,2,NA, NA, NA, NA)
df = data.frame(id, val)
# Count NAs 
df %>% summarise_all(~ sum(is.na(.)))
Output:
   id val
1  0   4
Method 2
According to the comment below, with dplyr:
library (dplyr)
df %>% summarise(across(everything(), ~ sum(is.na(.x))))
 
    
    
        Ed_Gravy
        
- 1,841
- 2
- 11
- 34
- 
                    1I guess with the newer dplyr, you can use `df %>% summarise(across(everything(), ~ sum(is.na(.x))))` or in `base R` with `colSums(is.na(df))` – akrun Nov 17 '22 at 20:02
- 
                    
- 
                    how would you do "df %>% summarise_all(~ sum(is.na(.)))" with the apply function and to find the missing values of the rows in the data frame? – Saba Al shawa Nov 24 '22 at 23:06
- 
                    how would you do "df %>% summarise_all(~ sum(is.na(.)))" to find the number of missing values in a row using apply and is.na? furthermore what does the "." in the parenthesis in is.na(.) do? is there a different variable we can apply to that so that it finds th emssing variables for the rows? – Saba Al shawa Nov 24 '22 at 23:18
- 
                    `sapply(df, function(x) sum(is.na(x)))` with the `apply` function. And the dot `.` represents respective columns. – Ed_Gravy Nov 25 '22 at 01:38
- 
                    1hello, this sapply(df, function(x) sum(is.na(x))) allows me to find the number of missing values for the columns, how would i do something similar but for the rows? – Saba Al shawa Nov 26 '22 at 00:58
- 
                    
 
    