열의 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
빠르고 쉬운 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
또는 더 현대적인 것을 사용하는 것.across()
함수:
df %>% summarise(across(everything(), ~ sum(is.na(.))))
전체 데이터 프레임에서 NA 수를 계산하려는 경우에도 사용할 수 있습니다.
sum(is.na(df))
에서summary()
출력, 함수는 또한 계산합니다.NA
그래서 만약 누군가가 그의 합계를 원한다면 이 기능을 사용할 수 있습니다.NA
여러 변수의 s.
데이터 프레임의 모든 열에 있는 null 수를 세는 명확한 역방향 방법:
library(tidyverse)
library(purrr)
df %>%
map_df(function(x) sum(is.na(x))) %>%
gather(feature, num_nulls) %>%
print(n = 100)
이 양식은 케빈 오고로스의 것과 약간 다릅니다.
na_count <-function (x) sapply(x, function(y) sum(is.na(y)))
명명된 int 배열로 NA 수를 반환합니다.
sapply(name of the data, function(x) sum(is.na(x)))
사용해 보십시오.
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))})
이것이 효과가 있습니다.
로컬 디렉토리에서 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
각 열의 null 값을 차례로 인쇄하려는 경우 이 값을 사용할 수 있습니다.간단한 해결책.
lapply(df, function(x) { length(which(is.na(x)))})
hut37의 대답과 비슷하지만 사용합니다.purrr
꾸러미저는 이 깔끔한 역방향 접근법이 AbiK가 제안한 답변보다 더 단순하다고 생각합니다.
library(purrr)
map_dbl(df, ~sum(is.na(.)))
참고: 타일드(~
)는 익명 함수를 만듭니다.그리고 '.'는 익명 함수에 대한 입력을 나타냅니다. 이 경우 data.frame입니다.df
.
다음을 사용한 다른 옵션complete.cases
다음과 같이:
df <- data.frame(col = c(1,2,NA))
df
#> col
#> 1 1
#> 2 2
#> 3 NA
sum(!complete.cases(df$col))
#> [1] 1
repref v2.0.2를 사용하여 2022-08-27에 생성됨
이를 사용하여 각 열의 NA 또는 공백 수를 계산할 수 있습니다.
colSums(is.na(data_set_name)|data_set_name == '')
완전성을 위해 당신은 또한 사용할 수 있습니다.useNA
표의 인수예를들면table(df$col, useNA="always")
모두가 아닌 것으로 간주됩니다.NA
케이스와NA
하나.
언급URL : https://stackoverflow.com/questions/24027605/determine-the-number-of-na-values-in-a-column
'programing' 카테고리의 다른 글
where 절의 계산된 필드 사용 (0) | 2023.06.29 |
---|---|
Mongoose 인스턴스 .save()가 작동하지 않습니다. (0) | 2023.06.29 |
java.util 인터페이스에 대한 기본 또는 기본 생성자를 찾을 수 없습니다.리스트레스트 API Spring 부트 (0) | 2023.06.29 |
Firebase용 Cloud Functions는 어떻게 배포합니까? (0) | 2023.06.29 |
Postgre로 작업할 때 엔티티 클래스의 이름을 "사용자"로 지정하는 것을 금지하는 규칙이 있습니까?SQL 및 Spring Boot? (0) | 2023.06.29 |