답변:
문제를 과도하게 생각하고 있습니다.
sum(is.na(df$col))
sum(df$col==value,na.rm=FALSE)
트릭을 수행합니다.
na.rm=TRUE
그렇지 않으면 df$col
NA 가 포함되어 있으면를 sum
반환 하기 때문에 일반적으로을 원할 것 NA
입니다.
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
na_count$name<-rownames(na_count)
.
na_count <-sapply(x, function(y) sum(is.na(y)))
더 짧은 대안입니다.
에서 summary()
출력 기능도 카운트 NA
하나의 합이 원한다면 하나가이 기능을 사용할 수 있도록이야 NA
여러 변수들.
summary
단일 열에서 사용될 때 출력을 사용할 수 있지만 전체 데이터 프레임의 출력은 문자이며 나중에 필요할 경우 카운트를 추출하기가 어렵다는 점에 주목할 가치 가 있습니다. 참조하십시오 c(summary(mtcars))
.
데이터 프레임의 모든 열에서 널 수를 계산하는 깔끔한 방법 :
library(tidyverse)
library(purrr)
df %>%
map_df(function(x) sum(is.na(x))) %>%
gather(feature, num_nulls) %>%
print(n = 100)
df %>% summarise_all(funs(sum(is.na(.))))
df %>% map_df(~sum(is.na(.)))
또는 dplyr없이map_df(~sum(is.na(df)))
의 GET에 빠르고 쉬운 Tidyverse 솔루션 NA
모든 열에 대해 수는 사용하는 것입니다 summarise_all()
내가 사용하는 것보다 솔루션 읽어 훨씬 쉽게 생각 purrr
또는sapply
library(tidyverse)
# Example data
df <- tibble(col1 = c(1, 2, 3, NA),
col2 = c(NA, NA, "a", "b"))
df %>% summarise_all(~ sum(is.na(.)))
#> # A tibble: 1 x 2
#> col1 col2
#> <int> <int>
#> 1 1 2
이 시도:
length(df$col[is.na(df$col)])
사용자 rrs 답변은 맞지만 전체 데이터 프레임의 NA 값 수를 얻기 위해 전달하는 데이터 프레임의 특정 열에있는 NA 값의 수만 알려줍니다.
apply(<name of dataFrame>, 2<for getting column stats>, function(x) {sum(is.na(x))})
이 트릭을 수행
apply(df, 2, function(x) sum(is.na(x)))
로컬 디렉토리에서 CSV 파일을 읽었습니다 . 다음 코드는 저에게 효과적입니다.
# to get number of which contains na
sum(is.na(df[, c(columnName)]) # to get number of na row
# to get number of which not contains na
sum(!is.na(df[, c(columnName)])
#here columnName is your desire column name
이것을 사용하여 모든 열에서 NA 또는 공백 수를 계산할 수 있습니다
colSums(is.na(data_set_name)|data_set_name == '')
sapply(name of the data, function(x) sum(is.na(x)))
value
것 이외 의 임의의 양을 계산할 때 더 간결한 직접 구문이 있습니까?NA
is.value
sum(is.value(df$col))