다음은 데이터 프레임에서 누락 된 값이있는 변수를보고하기 위해 작성한 코드입니다. 이 작업을 수행하는 더 우아한 방법, 아마도 data.frame을 반환하는 방법을 생각하고 있지만 갇혀 있습니다.
for (Var in names(airquality)) {
missing <- sum(is.na(airquality[,Var]))
if (missing > 0) {
print(c(Var,missing))
}
}
편집 : 저는 수십에서 수백 개의 변수가있는 data.frame을 다루고 있으므로 누락 된 값이있는 변수 만보고하는 것이 중요합니다.
답변
그냥 사용 sapply
> sapply(airquality, function(x) sum(is.na(x)))
Ozone Solar.R Wind Temp Month Day
37 7 0 0 0 0
apply
또는 다음 colSums
에서 만든 행렬을 사용할 수도 있습니다.is.na()
> apply(is.na(airquality),2,sum)
Ozone Solar.R Wind Temp Month Day
37 7 0 0 0 0
> colSums(is.na(airquality))
Ozone Solar.R Wind Temp Month Day
37 7 0 0 0 0
답변
map_df
purrr와 함께 사용할 수 있습니다 .
library(mice)
library(purrr)
# map_df with purrr
map_df(airquality, function(x) sum(is.na(x)))
# A tibble: 1 × 6
# Ozone Solar.R Wind Temp Month Day
# <int> <int> <int> <int> <int> <int>
# 1 37 7 0 0 0 0
답변
(너무 넓지 않은) 데이터에 대한 나의 새로운 즐겨 찾기는 우수한 naniar 패키지의 메서드입니다 . 빈도뿐만 아니라 누락 패턴도 얻습니다.
library(naniar)
library(UpSetR)
riskfactors %>%
as_shadow_upset() %>%
upset()
누락이있는 산점도를 플로팅하여 얻을 수있는 비결 측과 관련하여 누락이 어디에 있는지 확인하는 것이 종종 유용합니다.
ggplot(airquality,
aes(x = Ozone,
y = Solar.R)) +
geom_miss_point()
또는 범주 형 변수의 경우 :
gg_miss_fct(x = riskfactors, fct = marital)
이러한 예는 다른 흥미로운 시각화를 나열하는 패키지 비 네트 에서 가져온 것 입니다.
답변
답변
더 간결 : sum(is.na(x[1]))
그건
-
x[1]
첫 번째 열을보세요 -
is.na()
사실이라면NA
-
sum()
TRUE
이다1
,FALSE
있다0
답변
또 다른 그래픽 대안- plot_missing
우수한 DataExplorer
패키지의 기능 :
문서 는 또한 추가 분석을 위해이 결과를 저장할 수 있다는 사실을 지적합니다 missing_data <- plot_missing(data)
.
답변
누락 된 데이터를 확인하는 데 도움이되는 또 다른 함수는 funModeling 라이브러리의 df_status입니다.
library(funModeling)
iris.2는 일부 추가 된 NA가있는 홍채 데이터 세트입니다.이를 데이터 세트로 바꿀 수 있습니다.
df_status(iris.2)
그러면 각 열에있는 NA의 수와 백분율이 제공됩니다.