Chr*_*ris 2 row r dataframe na
我试图计算具有整个df的NA的行数,因为我想计算具有NA的行占df的总行数的百分比。
我已经看过这篇文章:确定具有NA的行数,但它仅显示特定范围的列。
tl; dr:明智的选择sum(!complete.cases(DF))
,或者sum(apply(DF, 1, anyNA))
有多种方法可以查看NA
数据帧中值的数量,比例或位置:
其中大多数都是从逻辑数据帧开始的TRUE
,每个对象NA
以及FALSE
其他地方都有。对于基本数据集airquality
is.na(airquality)
Run Code Online (Sandbox Code Playgroud)
NA
该数据集中有44个值
sum(is.na(airquality))
# [1] 44
Run Code Online (Sandbox Code Playgroud)
您可以查看NA
每行或每列的值总数:
head(rowSums(is.na(airquality)))
# [1] 0 0 0 0 2 1
colSums(is.na(airquality))
# Ozone Solar.R Wind Temp Month Day
37 7 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
您也可以anyNA()
代替使用is.na()
:
# by row
head(apply(airquality, 1, anyNA))
# [1] FALSE FALSE FALSE FALSE TRUE TRUE
sum(apply(airquality, 1, anyNA))
# [1] 42
# by column
head(apply(airquality, 2, anyNA))
# Ozone Solar.R Wind Temp Month Day
# TRUE TRUE FALSE FALSE FALSE FALSE
sum(apply(airquality, 2, anyNA))
# [1] 2
Run Code Online (Sandbox Code Playgroud)
complete.cases()
可以使用,但只能逐行使用:
sum(!complete.cases(airquality))
# [1] 42
Run Code Online (Sandbox Code Playgroud)