[r] 열의 NA 값 수 결정

NA데이터 프레임 열의 값 수를 계산하고 싶습니다 . 내 데이터 프레임이 호출 df되고 고려중인 열의 이름 이라고 가정하십시오 col. 내가 생각해 낸 방법은 다음과 같습니다.

sapply(df$col, function(x) sum(length(which(is.na(x)))))  

이것이 가장 좋고 효율적인 방법입니까?



답변

문제를 과도하게 생각하고 있습니다.

sum(is.na(df$col))


답변

NA데이터 프레임에서 각 열의 개수를 찾고 있다면 :

na_count <-sapply(x, function(y) sum(length(which(is.na(y)))))

각 열의 개수가 포함 된 목록을 제공해야합니다.

na_count <- data.frame(na_count)

다음과 같은 데이터 프레임에서 데이터를 멋지게 출력해야합니다.

----------------------
| row.names | na_count
------------------------
| column_1  | count


답변

colSums기능을 사용해보십시오

df <- data.frame(x = c(1,2,NA), y = rep(NA, 3))

colSums(is.na(df))

#x y 
#1 3 


답변

전체 데이터 프레임에서 NA 수를 계산하려는 경우 다음을 사용할 수도 있습니다.

sum(is.na(df))


답변

에서 summary()출력 기능도 카운트 NA하나의 합이 원한다면 하나가이 기능을 사용할 수 있도록이야 NA여러 변수들.


답변

데이터 프레임의 모든 열에서 널 수를 계산하는 깔끔한 방법 :

library(tidyverse)
library(purrr)

df %>%
    map_df(function(x) sum(is.na(x))) %>%
    gather(feature, num_nulls) %>%
    print(n = 100)


답변

이 양식은 Kevin Ogoros의 양식에서 약간 변경되었습니다.

na_count <-function (x) sapply(x, function(y) sum(is.na(y)))

NA 카운트를 명명 된 int 배열로 반환